Scroll lock is used by e.g. Microsoft Excel and some terminals in its original meaning: modifying the arrow keys to scroll the content instead of moving the cursor.
Pause/Break is used in some IDE:s to break output for debugging purposes. It is also used in some programs similar to Ctrl+C, that is to break execution. Win+Pause also triggers system properties in Windows, though that is highly non-semantic.
They appear since they were part of the ruling keyboard standard (from IBM) when the PC market started to stabilize. They are included in the common QWERTY layout, and thus program developers may assume they are present. It would spawn large problems if keyboard manufacturers would start stripping buttons at will, and their products would probably not sell.
Caps lock is used not least in helping input for people with dexterity disabilities.
Num lock is always on for me as well, but that does not mean that no one else uses it. Some programs offer different functionality for its different states, giving you 11 extra buttons in a good position.