I realize you can buy skins directly on the steam market, and avoid the whole random factor, but then you're just paying whatever the market rate is for "coolness" plus the costs of all the other people who did the key/box buying. Plus there is the whole "condition" mechanic, so the skin you get might not even look the way you actually want.
Like I said, people can do whatever they want, but to me its just silly. When you add to that the fact that Valve actively* stops people from playing on custom (i.e. private) servers with modded skins available and it just seems like shitty anti-consumer behavior.
Boxes are obtained for free by simply playing the game. You don't really need to buy boxes unless you want some specific one from a past event that is not available through the game anymore, but someone got it back then or if you want boxes at a faster rate than the regular gameplay provides. But you need to buy a key to open it, however.
Also, a given kind of a box contains one of the finite number of items. I think the idea is that if you get a duplicate that you don't want, you can either trade it with a player who doesn't have it for a skin that you want or sell it on the steam marketplace (so you can use that money on a skin that you actually want).
Sometimes you spend some money on the game simply because you really like it and want to support the developers.
I occasionally buy skins for fighting game characters simply because I enjoy looking at those skins (more than I enjoy the defaults). Heck, some characters are played exclusively because of cool skins (e.g., Blanka Chan).
I see no problem spending money in something that just looks cool if you're getting your entertainment value from the game. It's the same reason why you would buy that cool shirt you saw on the internet: you already have plenty of shirts, you don't actually need one more, but it would be cool anyway.