Static IP isn't necessary for hosting from home but a "Non-NAT" connection is. If you don't have a static IP, you can use a service such as dynaDNS or something which runs on your server and keeps informing your subdomain to use the ever changing dynamic address. But if your device sits behind a NAT, then its not accessible from outside at all (unless the device initiates the connection), thus its impossible to host if your ISP has placed you behind a NAT. But the plus point, on the other hand, is increased security which is probably good for the majority of people.
One problem for ISP is that there are not enough IP addresses. local IP's have been used for mobile connections for a while, and now also for stationary connections.