mail() usually works pretty good for me out of the box but I've got a custom build (very simple) eCard system I put together for a client.
I would have used the phpmailer class but as of a few weeks ago the version out was giving this client's server a hard time.
All being said and done - the system is built and working fine but some emails are not receiving mail. Today I setup a simple test of the phpmailer class and ran it on the same emails that ARE NOT receiving the email and they DID receive it from phpmailer.
I can only attribute this to the fact that I'm using limited "headers" on my custom class.