While the ARPANET was being developed, computers connected to the network were typically mainframe computer systems that could be accessed from dumb terminals connected via serial ports. Since these terminals did not host software or perform computations themselves, they were not considered hosts as they were not connected to any IP network, and were not assigned IP addresses.
A Content Distribution Network (CDN) is a network of servers distributed geographically. The purpose of a CDN is to deliver content on the internet much faster. If a user in Toronto is trying to access your website, the closest server to them will take care of this. But someone coming to your website from Sydney, Australia, will be catered to by a server closest to them. The main host server holds your website content, and all the other servers have a cached version each.
Think of your domain name as a street address for your website. Without a domain name, you would have to tell customers to visit your website at an IP-based url such as 188.8.131.52/~yourwebsite instead of yourwebsite.com. The former is not very memorable or friendly to human eyes and will surely result in not that many visits to your website. While it is not mandatory that you have a website domain name, nor is it mandatory that a domain you own be attached to a website, for a successful online presence you truly will want to get your own domain name to ensure your website has the proper air of professionalism and appropriate branding.
A complex site calls for a more comprehensive package that provides database support and application development platforms (e.g. ASP.NET, ColdFusion, Java EE, Perl/Plack, PHP or Ruby on Rails). These facilities allow customers to write or install scripts for applications like forums and content management. Also, Secure Sockets Layer (SSL) is typically used for websites that wish to keep the data transmitted more secure.