Domain names put a friendly face on hard-to-remember numeric internet addresses. Every computer on the internet has a unique internet protocol (IP) number. A domain name represents one IP number or more. For example, the IP number for the domain name whitehouse.gov is 18.104.22.168. The whole purpose is to give users an easy-to-remember handle so that when sending an e-mail to, let's say, the President of the United States, you can type email@example.com instead of the more unwieldy firstname.lastname@example.org.
FatCow has one of the cheapest offers for an entire website package, with hosting and domain names for just thirty cents during your first month. After, that the price is $10.99 a month or $59.88 for the whole year, in a shared hosting package with enough bandwidth for most people. This is a limited promotion I found, but they still sell fairly well-priced packages (their "fat" options come with extras like marketing and advertising credits), and will gladly offer you perks for transferring your domains and hosting to them.
Second-level (or lower-level, depending on the established parent hierarchy) domain names are often created based on the name of a company (e.g., bbc.co.uk), product or service (e.g. hotmail.com). Below these levels, the next domain name component has been used to designate a particular host server. Therefore, ftp.example.com might be an FTP server, www.example.com would be a World Wide Web server, and mail.example.com could be an email server, each intended to perform only the implied function. Modern technology allows multiple physical servers with either different (cf. load balancing) or even identical addresses (cf. anycast) to serve a single hostname or domain name, or multiple domain names to be served by a single computer. The latter is very popular in Web hosting service centers, where service providers host the websites of many organizations on just a few servers.