Well, you don't do it using your primary domain/email. Also, IPs are easy to obtain (so you are rather shielded).
Well, sure, but do you really want to obtain a new IP address every time you send out a mailing? My experience has been that a lot of people who aren't tech-savvy will flag unwanted e-mails as spam even if you have an unsubscribe link and all that, and then you get blacklisted. Which you can probably get removed if you're legit, but it's a pain in the ass. And some providers do their own blacklisting or whatever -- I remember AOL being
really strict. Even using YMLP (and sending once a week to about 130 people), it seems like once a month or so it doesn't get through to a couple of the 15 or so aol addresses.
As for providers not allowing it, I think it's a myth. It's not like we are doing any spam, it's a legitimate sending of emails (as long as you follow the rules).
Yeah, I looked at several VPS hosts' terms of service and they don't seem to prohibit it now. Four or five years back when I was looking into this before, I couldn't find any place that would allow it (not that I looked all
that hard, but the six or eight which I looked at didn't).
Anyway. I'm not saying you absolutely
can't do it on your own, just that it's harder than most programmers probably think it is. You need to make sure your reverse DNS works, and your SPF records are set up correctly, and that your sending software is careful not to send too many messages in too short a time to the same host, and monitor things to see if you get on any blacklists and request to be taken back off, and probably some other things that aren't occurring to me just now.