In the case of a server, the only applications that are running there are the ones that I've setup, so you don't just have random users downloading & running malware.
The only ports that are open to accept connections are the ones from services that I'm running, and want to be able to access. If there's a zero-day in Apache or OpenSSH, the firewall won't help you.
So, it seems like the only thing that a firewall does is make it harder for me to setup new services (by having to figure out what ports to open).
So, in a server-based environment, where the machines are all under my control, what is there to be gained from having a firewall?