Are you an EC2 user, well there is a black list for those IP's.
Are you on a residential connection or a dynamic IP... there is a black list for that also. So you may have a perfectly configured MTA with a pristine IP and still have delivery issues. Using a smart host is perfect in these situations.
It's been mentioned before but part of running your own mail server is the process of learning and tweaking things to your liking. I remember the days when you could run a server on your own home connection on port 25 without any issues - but those days are long gone. A crucial part of every sys admins journey historically has been setting up and configuring a personal use mail server.
You can always run a mail server at home on a port other than 25 and have an upstream email service deliver it to your alternate port.
So if you'd rather not deal with filtering your own spam, or would like a excellent smart host with SPF and DKIM - let me know.
I'll provide commercial spam filtering with backup MX or smart hosting services to any HN user for 50% off from duocircle.com - just message me... running your own is sort of a right of passage.
I've smart-hosted using postfix, direct for incoming and gmail/sendgrid/mandrill (before it was neutered by mail chimp) for outgoing.
It was fairly cost effective - generous free tier (upto 12k emails) for outgoing, and a small vps to host postfix (~$5/month).