There's a difference between hacking a device you own and you use, and a system that's used by others.
It's not just IT people. People all times have fiddled with devices they've had, and I believe this is in part how many inventions have been made. It just is that some people do it with computing devices and other people do it with, say, cars. Software-based devices are much more malleable than devices built out of screws and bolts; just changing a few lines can go a long way making the device do what you like, instead of doing what the device builder thought would be good.
It is quite difficult to turn a toaster into a waffle iron. But how about making your mobile phone location-awarely be silent automatically while you are in the movie theater? How about interfacing your car GPS with your mobile phone's GPS to mark the spot where your car is at the moment? It can actually be fun to do those things, which is actually the biggest reason why people do it! Don't you have any spare time? All work and no play?
Regarding the "unpredictability" - well, if they're doing it for themselves, it's just them that need to worry about it. It's not like that all commercial devices behave fully predictably. Why would "an ordinary user" make use of my device? It is each person's personal choice to make use of a customized - or self-built - device.
I too can see that there are interests to not make systems hackable. But where is the downside? History has shown that it has been an excellent way to make a device or platform more popular by giving people the possibility to play around with it. Perhaps an open source project about D.C. metro signalling would indeed allow people to find issues in the system and fix them? Of course, it's not likely to attract a lot of eyes, because many have a metro system they can run at home - not that fun.