There are many excuses for cloaking, however most of them are bull. The most popular one has to do with security. People spend significant resources optimizing their site and they don't want a competitor to be able to see their page source and basically steal their ranking. This excuse is bogus for a number of reasons. First of all it is not difficult for someone to write or download a program that spoofs HTTP headers, thus allowing them to view your site exactly as the search engine sees it. In fact HTTP header spoofing is how search engines often try to detect spam. Second, some search engines keep a cache of your page, which saves your competitor from having to download a program at all. Third, since link popularity is so important nowadays the actually arrangement of the words on the page isn't something that needs protecting. Fourth, if all you're doing is hiding your meta tags you might as well stop, most search engines don't use them anymore. So as you can see, security is not a real reason to cloak.
Another excuse is "Why send images to the search engines when all they really look at is the text?" Well I hate to break it to you but search engine spiders do not download images. When a client requests a page from a server it is only requesting the page, it then must make additional HTTP requests for the images or any other media on your page. Look at your server logs for verification if you must. So obviously this excuse never even got off the ground. Now of course search engines that offer image searches will make the requests for your images and cache a copy of them, however in this case the engine is interested in your images and you should let them read them because an image search can be another source of traffic for your site.
Yet another excuse is "Why increase the visitors download time by including Meta tags they don't normally see?" Even if you have rather large meta tags, at maybe 1000 characters. Those will only take up a small fraction of a second of download time at 56k.
People also sometimes use the excuse that other people do it and don't get caught, so they can do it. Maybe they know someone who cloaks rampantly and has for years. Well usually parents defuse this argument from a child's repertoire in early childhood, however in case they haven't suffice it to say that thousands of people cheat on their taxes but that doesn't make it right, and if you're caught you will regret it.
There are a final two reasons not to cloak. The first is that you don't need to cloak. I'm speaking as someone who has gotten #1 listings on nearly every major search engine, not top 10 (though in one case I have the entire top 10 with different pages from the same site) but #1. I have never cloaked, you simply don't need to do it. There are valid ways to get ahead in search engines.