Devil's advocate:
Memory management: is irrelevant in pretty much all code that I've seen in forums.
Code readability: doesn't actually require you to declare your variables. Also, variable naming and where to declare is a whole other flame war.
Error checking: can also give a false sense of security as the compiler isn't necessarily 100% reliable on that front
Optimisation: see memory management

Against declaring:
Saves typing and therefore reduces the risk of RSI and/or arthritis in later life

I'm not sure I've ever seen any other arguments against it.