ICANN is an American nonprofit dedicated to keeping the Internet secure, stable and interoperable. It promotes competition and develops the policy on the Internet's unique identifiers, coordinating them and allowing a global Internet.
The DNS makes the Internet accessible to humans. Computers find each other using IP addresses. However, we would struggle to remember these IP addresses, so the DNS uses letters as opposed to numbers. A specific series of letters would link to a specific IP address. Fo example, a website can be found at a url like "icann.org" instead of “192.0.32.7”. This system also allows for flexibility: the link between a domain name and IP address can change quickly, so a change in this aspect would be recognized by the entire Internet in two days time because of the DNS infrastructure which is constantly updating.
Domains are sold by registrars that ICANN has contracts with. ICANN runs their accreditation while the registrars charge as they please, providing a consistent and stable environment for the DNS (and ergo the Internet).
The use of ICANN and Domain names allow for a system where you can buy and sell domains, which allow access to specific IP addresses via their domain names.