SharpKeys is a Windows utility that lets you change the meaning of keys on your keyboard. You can map a key to be something else, or disable it entirely. I have an old M-series keyboard without a Windows key, and this is a way to create one. Also, don’t even get me started on Caps Lock. I use the Tab key quite often, and my left pinky has an annoying habit of hitting Caps Lock instead. In the past I would physically remove Caps Lock from the keyboard, but SharpKeys gives me the ability to disable it (or even make it into another Tab).
Update: Parrish notes that KeyTweak does the same thing without requiring .NET.