Simon, you've obviously never worked in an IT department.

There are very good reasons for having a homogeneous set of apps across a network:
1) Security issues (as you mentioned).
2) Reliability issues - if one untrusted app is allowed on the network and starts misbehaving (eg sucking up bandwidth, causing router/firewall problems, or bringing down another popular app) it affects everyone, not just IT. This can be a big problem in a 100+ employee company.
3) Cost-saving - IT departments constantly have their budgets thrust in their face (no-one likes spending money on IT). Supporting the same set of apps is much easier, and therefore much cheaper.
Having worked as an IT manager, I can tell you that the 80/20 rule kicks in all too often - I used to spend days on end supporting one sales guy who insisted on getting some obscure piece of software working on his laptop, while the rest of the network went to pieces. At the end of it all the sales guy decided to use a different app anyway!
All that said, you are absolutely right that there is often an attitude amongst IT staff that the rest of the company are "bothersome bozos". There's even a whole hacker slang around this (see
http://en.wikipedia.org/wiki/Luser for an example).
I think the answer, as always, is better communication between IT and the rest of the company. Rather than the "us and them" mentality, with users bitching about IT and IT secretly locking down PCs and squirrelling away useful information, there needs to be much more openness and an understanding of the needs of both IT and users. Then compromises can be reached.
Also, see
http://www.youtube.com/watch?v=gt9j80Jkc_A
--
Matt Doyle, Elated
3rd Edition of my jQuery Mobile book out now! Learn to build mobile web apps. Free sample chapter: http://store.elated.com/