Normally on the Internet when you request to browse a website, your browser contacts few DNS servers on the basis of hierarchy and authority (if the information is not already cached on your PC), to connect you with that web server.
In case of hosting from home, the only difference is that your visitor has to be directed to your home PC instead of a web hosting server.
To achieve this, your PC will be sending a heart beat to your DDNS provider like DNS2go, with your latest IP address so that when a visitor calls for your website he is directed to you by the DDNS provider who will be first automatically contacted by the user.
When a visitor reaches the server of dns2go or TZO or other similar services, as directed by your registrar (in case your domain registrar and DDNS service provider are different). Some DDNS providers do not allow this and it may be imperative to make both DDNS provider and domain registrar one company.
Due to their program sitting in your home PC reporting your IP addresses to them, they are aware of your current address and direct the visitor to you. This process completes the domain resolution and your site is found on the Internet and at your home.
Using the same method you may be able to host an ftp server, game server, chat server etc.