Personally, I have a VPS where I keep my own mail server, webmail, ownCloud instance (calendar, address book, file storage, etc), IRC bouncer... All courtesy of Sovereign (https://github.com/al3x/sovereign)
Having your own server is definetely a good solution, it just needs experience and comes at a certain price, even if it stays reasonnable. But most people just don't want to be bothered with maintaining the box (hosting payment, security updates, domain name renewal, SSL ceritificate renewal and so on).
However, it is a fantastic way of learning by yourself!