This is the root of a lot of confusion and common misunderstandings from Windows users coming to Linux. I guess I should try to do a wiki entry on it one of these days.... If I can get over my laziness.
Windows sees drives/partitions and the files on them. Linux sees only the file system. The folder tree is everything in Linux. It neither knows nor cares where the contents of a given folder is actually physically located. Linux only sees the folders relative to their position in the file tree. Where the actual contents of the folders resides is not recognized or important to Linux.
Example: The "Music" folder is only defined by the fact that it is in the "fred" folder. The "fred" folder is defined by the fact that it exists in the "home" folder. Where the actual data is doesn't matter. It could be on a different partition, a different drive, a different computer, in a cloud somewhere... it doesn't matter to Linux.
All of the folders in the file tree exist under / (root). / (root) is the very top of the file tree. If it doesn't exist in a folder somewhere under / (root), it doesn't exist, as far as Linux is concerned.
This is a very important difference between Windows and Linux. You really need to get your head wrapped around this concept of things to understand why a lot of things are done as the are in Unix/Linux.
OK... We have this file system floating around out there in space. But it is useless because it is not tied to any data. It is just a collection of folder names in Linux's imagination. An empty shell, if you want to look at it like that.
In order to make the file system useful we must "bind" or "mount" all of these folders to a source of real data. The most common data storage source is a section or partition of magnetic media on one or more hard drives.
We can attach the entire file system to one partition by binding or mounting / (root) to a given partition; say sda1. In this case, the entire file system or the entire Linux world would exist on the first partition of the first hard drive. But we don't have to stop there. We can also assign, bind, or mount almost all of the folders in the file system to their own partitions if we so chose. Once we bind or mount the folders we want to the storage partitions we want, we have a working system that contains real data. Where that data is physically located is immaterial to the operation of the system.
This concept has some very powerful consequences. It gives you tremendous flexibility as far as the way your system is structured. By being able to isolate your data, programs, kernel, temp files, logs, etc. on their own partitions you can enhance security, robustness, speed, serviceability, ease of upgrading, and many other things. It is like sweets and beautiful women though. You can over do anything. Where too much segmentation is for one person, it is not enough for someone else. Thus you will find as many opinions on partitioning as you care to ask for.
To get back to your original question about mounting. Mounting is what you do to tie a folder in the file system, either the ones that are there by default or the folders you create yourself, to a storage partition. Look at it as binding the two together if that is more descriptive for you.
You can mount a given partition to as many folders in the file system as you wish. You can only mount one partition to a given folder however.
I hope this helps you understand the purpose of mounting better.