> Is there a secure, easy way to host things from your own home server or do you have to colocate somewhere in the cloud?
You just need a computer to be that "server".
> Is the lack of viability a problem being imposed on us based on speed limitations from ISPs?
The largest stumbling block is that most "residential" ISP connections are also dynamic IP addresses. You have to have some way to update the IP address values associated with any domain names when your dynamic IP changes. Which usually means using one of the services that provide this "dynamic IP domain name" service.