Rico's recent post is interesting as it hints at things some developers do that sound like a good idea, but really pose some big performance problems and can sometimes be hard to repair disasters of ship stopping proportions. Rico, here are some other possibilities for your list...
1) An architect decided that the file system would be a cheap database by storing large numbers of items as individual files where the name is the key.
3) The driver developer that decided polling for monitor presence in a DPC. Polling time was a couple of hundred milliseconds, but it only polls once every three seconds. No problem!
4) The hard drive that occasionally decides to spend 1.5 seconds flushing its cache (and nothing else...)