Most people have their webspace hosted on shared servers. Those shared servers host lots and lots of different clients. If some of those clients start spamming email, it will result in essentially the server getting listed as a source of spam. So now your emails are treated a spam. Even if your customer adds your email as an exception, it could get overwritten any time the spam filter is updated.
The reason gmail "always" works is because no one is crazy enough to block millions of emails coming from google's servers.
This is why I pay Google $6/mo to host my email. It's not perfect, but I very rarely get an email kicked back. If you don't want to use Google, you can also use Microsoft reliably. Outside of those 2, there are lots of smaller companies you can use. Many I'm sure are reliable. I just went with Google because it made my life the easiest.