The Start and End values tells the simulator how much "real time" it must calculate within your scene's start and end frames. Note that they are in seconds and not frames, because it should be considered as "real world" timing, included within your animation timing.
The Speed value is like the "motion speed" of the simulation. Lower value will give you "slow-motion" style animation, while higher value will result in a hi-speed animation.
So first you have to take care about how many frames you have in your animation, and the framerate you set in the Render panel, in order to have the corresponding "real world" timing.
Example, as you stated :
- start frame: 0
- end frame: 120
- framerate: 30 fps
- real-world timing: 120/30 = 4 seconds
Now you can set your start value as you wish, in order to offset the beginning of the animation, while there is 4 seconds between start and end. (0 → 4, or 1.5 → 5.5, or 6 → 10 for instance).
The speed value, indeed, will allow you to speed up or down the animation. The difference is that the simulation won't take too long to calculate if you slow down the speed (at, say, 0.1), making possible to keep only 120 frames of animation, on which you can simulate a small moment of the simulation (for example, the moment where the little wave of a drop reach back and separate)
Here you can watch a video by Daniel Kreuter explaining this feature with some examples :
Beware still, at the time of this video, there were no speed value. Instead we were able to tweak the speed with the Real world size property, which is not exactly the same.