You change the speed IPO of the curve manually. I don’t like this idea in Blender because it means that the curve itself defines the speed of all the objects along it. Then you have to override this value for each object using the time IPO.
So you basically select the curve and choose the path option in the menu at the top of the IPO window. Then the item speed appears. Ctrl-click to add a key. The curve goes from 0 to 1 so say you want the objects to start moving at frame 50 then you would set a key at x=50, y=0. If you want them to stop at frame 100, you set a key to x=100, y=1.
You can adjust the curves to make the items go backwards too.
Now, if you happen to have more than one object attached to a curve, you can make then travel at different speeds with the time IPO. So select an object and choose the object option in the IPO menu. Then choose the time value. If you want the object to start moving at frame 100 as opposed to 50, set a key to x=100, y=50. If you want it to stop at 300 instead of 100, set another key to x=300, y=100.
This system does make it easier to animate lots of objects along a curve at the same speed but it’s not immediately intuitive. The main problem I have with curve paths is the fact they are measured from start to end. So if you edit the curve, all the keyframes get messed up. I think it would be nice to have a feature where if you have an object attached to a path, you just set when it starts and ends and the keyframes stay at the same position on the curve no matter how you edit it. Maybe the keys can use the path length from the nearest CV. Then if another CV is added closer, this path distance is updated.
Another feature would be to show the curve times per object when an object is selected. So you’d choose an object attached to a path and the path would then show the start and end times for that object. If multiple items are selected, only the first item Blender reaches would be shown.