I'm going to chime in with a bit of additional advice here. I've seen recommendations to stay away from godaddy by a couple of people and I'm going to have to agreee with that. I will have to add from personal experience to stay away from 1&1 however. For decent cheap hosting the market is saturated and the problem with the review sites is that they are highly skewed.
Here's the deal. Whoever you host with DO NOT register your domain there as well. I repeat, register your domain with a separate company than your hosting company. Secondly, find a registrar that is not a reseller. Deal with the guy at that top, Enom for example.
You can host anywhere you like but if you end up unhappy and want to move things, having a separate registrar makes life very easy on that front and prohibits bad actors from doing anything untoward with your domains.
I'm going to give you a few recommendations. If you want to try out a host first, you want one that offers a free package so you can see if it's a good fit first. I've set up many of these and have run my sites on them for years or sometimes just weeks depending on the experience. Free hosts can be a pain if the owners don't run things right and customer service can be basically nil. If you know what you're doing this can be a boon if uptimes are good. Some free hosts don't allow you to use your own domain as well and if I remember right, WIX is one of them. There's also no reason to have free hosting with their ads on your pages, there's too many that offer hosting without them. Then you have the issue of email on the domain. Some offer email, some don't due to spam policies etc. My recommendation there is that if you need to set up a commercial site, pay for hosting and you'll have email otherwise just use your webmail. Dealing with spam on your end can be a chore and unless they let you set up your own software it's just not worth it, not to mention how hard it is to actually set up.
Here are two that I recommend.
Freehostia.com has an excellent free option with one caveat, no SMTP email sending until you have a paid account, you can recieve mail though.
https://www.nearlyfreespeech.net/]Nearlyfreespeech.net[/url] has the most excellent option that you only pay for what you use, bandwidth included.
Take my experience into account here which is also my disclaimer, I've only been doing this since the mid 90's. Here's the text from Enom's help pages on the things you're confusing yourself about.
DNS records translate meaningful domain names into IP addresses used to identify the actual location of devices on the Internet. These host records can be used to direct your domain name to your web server’s IP address (via A or AAAA records) or specify which servers handle email delivery for your domain (via MX records) for example. See below for a full list of supported record types:
A (Address) Record
An A record tells a DNS server what specific IP address to map for a host name. It is the most common type of DNS record. An A record is typically used to direct your domain name, for example [url=http://www.yourname.com]www.yourname.com[/url], to a web server.
Example A record format: 98.124.253.253
AAAA (IPv6 Address) Record
An AAAA (or “quad-A”) record is similar to an A record, except that it maps a hostname to an IPv6 address. An A record specifies an IPv4 address, which is currently the dominant Internet Protocol version. In 1998 the IETF designated IPv6 as the successor to version 4 mainly for its much larger amount of available addresses, which provides flexibility in allocated addresses and routing traffic and prevents address exhaustion as more and more hosts are connecting to the Internet and available IPv4 addresses are running out.
IPv6 addresses are normally written as eight groups of four hexadecimal digits, where each group is separated by a colon.
Example IPv6 format: 2001:0db8:85a3:0000:0000:8a2e:0370:7334
To shorted the writing and presentation of addresses, several simplifications to the notation are permitted.
Any leading zeros in a group may be omitted; thus, the example becomes: 2001:db8:85a3:0:0:8a2e:370:7334
One or any number of consecutive groups of 0 value may be replaced with two colons (::): 2001:db8:85a3::8a2e:370:7334
Optional section
This substitution with double-colon may be performed only once in an address, because multiple occurrences would lead to ambiguity. For example, the illegal address notation 2001::FFD3::57ab, could represent any of the following:
2001:0:0:0:0:FFD3:0:57ab
2001:0:0:0:FFD3:0:0:57ab
2001:0:0:FFD3:0:0:0:57ab
2001:0:FFD3:0:0:0:0:57ab
Using the double-colon reduction the localhost (loopback) address, fully written as 0000:0000:0000:0000:0000:0000:0000:0001, may be reduced to ::1 and the undetermined IPv6 address (zero value), i.e., all bits are zero, is simply ::.
For example, the addresses below are all valid and equivalent:
2001:0db8:0000:0000:0000:0000:1428:57ab
2001:0db8:0000:0000:0000::1428:57ab
2001:0db8:0:0:0:0:1428:57ab
2001:0db8:0:0::1428:57ab
2001:0db8::1428:57ab
2001:db8::1428:57ab
CNAME (Alias) Record
A CNAME (or Cononical Name) record tells DNS that this hostname is an alias of another domain name. This hostname then ends up resolving to the same IP address as the target domain name.
This helps if you manage multiple hostnames on the same or even different domain names that will allways point to the same IP address. If you specify all of these hostnames as CNAME records that point to one host with an A record, then if you need to update that IP address the master A record is all that needs to be updated, and all hostnames referring to it via a CNAME will automatically resolve to the new address.
Restrictions
A CNAME must have no other records of other types (MX, A, etc). This is very important especially with the @ record. If you specify a CNAME record type for the @ hostname, then email will not route properly for this domain name.
CNAME records that point to other CNAME records should be avoided. It is possible to create infinite loops and other error conditions.
Other DNS record types that point to other names, such as NS, MX, PTR, and SRV should never point to a CNAME.
Example CNAME record format: www CNAME [url=http://www.myothername.com]www.myothername.com[/url]
URL Redirect record
URL Redirect is not a native DNS record type. Specifying URL Redirect for a hostname creates an underlying A record that directs the name to our URL Forwarding servers. These servers then perform an HTTP 301 redirect to the URL you specify in the address field. You can specify only the domain name to go to, or a full path to a specific file.
Example URL Redirect record formats:
www URL Redirect http://www.someotherdomainname.com/
blog URL Redirect http://weblogs.asp.net/pwilson/
Note that after redirecting, the target URL will show in the browser’s URL text box.
If a user specifies a path or filename after the domain name when requesting a host that is URL Redirected, that path information is intelligently appended to the destination URL. In the example above, if a user had entered “www.myname.com/someotherpage.html” in a browser, this would redirect to “http://www.someotherdomainname.com/someotherpage.html”.
Advanced users: The default HTTP code returned for the redirect is 302 ("HTTP 302 Found"). To change the code to 301 ("HTTP 301 Moved Permanently"), add the parameter "redir_mode=301" to your redirect address. To change the example above to use a 301 code instead of the default, you would use: http://www.someotherdomainname.com/?redir_mode=301. If the destination URL already has querystring parameters, use the ampersand ("&") instead of question mark ("?").
URL Frame record
URL Frame is not a native DNS record type. Specifying URL Redirect for a hostname creates an underlying A record that directs the name to our URL Forwarding servers. These servers then output an HTML page using a frame to fill the page. The contents of the destination URL are then loaded into that frame. The advantage of this over URL Redirect is that the original URL entered by the user remains displayed in the browser’s URL text box.
Example URL Frame record formats:
www URL Frame http://www.someotherdomainname.com/
blog URL Frame http://weblogs.asp.net/pwilson/
Note that after redirecting, the target URL will show in the browser’s URL text box.
If a user specifies a path or filename after the domain name when requesting a host that is URL Redirected, that path information is intelligently appended to the destination URL. In the example above, if a user had entered “www.myname.com/someotherpage.html” in a browser, this would redirect to “http://www.someotherdomainname.com/someotherpage.html”.
TXT Record
TXT records were originally intended for human-readable text in a DNS record. This record type is now used as machine-readable data for several services, such as Opportunistic encryption, Sender Policy Framework (SPF), DomainKeys Identified Email (DKIM), DNS-SD, etc.
Our system will accept any text in the address field of a TXT record. If you are setting up a data string intended for use with a specific service, such as SPF, you should use a utility to generate a string for you so there are no errors (for example [url=http://www.openspf.org]www.openspf.org[/url] has an SPF builder tool).
MX records are DNS records that control which email server your domain name resolves to. Your domain must be using our DNS servers in order to set MX records on our system (see How to Change Domain Nameservers (DNS)).
Please note that making changes to your email settings could result in an outage of email service.
To manage your MX record, please do the following:
Select the menu option Domains > My Domains.
From your domain list, click on the domain name you wish to manage.
Click Email Settings or from the Manage Domain drop-down list, select Email Settings.
If you wish to add custom MX records for your domain, change the Service Selection to "User (MX)". This is for advanced users who wish to use third-party email service from other providers. Please enter the MX records in the following format:
Host Name Address Pref
@ mxin.name-services.com 10
If your domain were example.com, the above records would point all mail delivered to @example.com to the mail server mxin.name-services.com. The Pref field is also known as Priority. This is used to prioritize mail servers if you are entering more than one.