Firewalls protect against weaknesses in various server programs by allowing access only to servers that are known to be secure, and denying access to all other servers.
Firewalls protect against administrator errors.
In large local area networks it is almost impossible to secure all hosts. There will probably be at least one host which still has some unpatched servers, or has exported its file-systems to the whole Internet. Users can share their passwords with friends and send valuable data to other individuals outside the company.