Short and hand-wavy version
Hello Saif.
I'm gonna give you a short and somewhat incomplete version of the explanation that pertains to home use of computers. For people who actually know a little more about what the story is, you can most definitely skip this post and please try not to nitpick if at all possible. I'm fully aware that it barely scratches the back of the full explanation.
You should already be aware that your computer uses something we call memory to store data. There are various types of memory but the one most relevant to the 16/32/64 bit issue that is troubling you is the random access memory, also called RAM. This is a special type of memory which is used by the operating system to do its thing. But like any type of memory, before you can write/read a portion of it you need to know
where to start your operation. Computers use numbers as addresses for location within their RAM.
For a given computer the size of memory addresses is always the same, kinda like all zip codes within a country are the same size and have the same format. Because of the internal mechanics of computers, the size of the memory addresses is always a power of 2 (notice that 16, 32 and 64 are all powers of 2). The main thing these numbers represent is the size of the memory addresses that the operating system can understand and use.
Why would computers be so silly as not to have a standard address size you ask? Well they did... when PCs first came around no one could wrap their imagination around the memory sizes available today. So they picked what they though was a safe size... namely 16. Operating systems such as DOS and the Windows 3.11 window management system were 16bit OSes.
However, technology progressed and memory sizes increased at a tremendous pace. And before you knew it you could no longer address all of the memory in your computer using only 16 bits. So the industry decided to move to 32 bit addresses. This was a big change that required software vendors, OS vendors and even CPU manufacturers to change the way they did stuff and it happened around the same time that Windows 95 first shipped. And because there was a high demand for the changes everyone was happy to jump on the bandwagon and all was good for a while. You see, going from 16 bit to 32 bit addressing did not double the amount of available addressing space as you may imagine. It raised it from a measly maximum of a few MB to 4 GB. Again, at the time it seemed like a sufficient change and the 4 GB limit was as high as the sky.
However, as you very well know, having 4GB of RAM (or more) is not at all unusual today. Which is why more and more people are starting to use 64 bit OSes. They need special CPUs which can handle addresses that are 64 bit long but these have become almost ubiquitous today.
And that was about it. If you're interested in finer points about the issue (which is a lot more complex than I make it seem here) I'm sure this little pep-talk and google will get you started on the right path.
And if you're still wondering, no, using a 64bit OS will not give you a 64bit colors option. That is an entirely different story with no relation to this one whatsoever.
Edit: I typed so much that I forgot to answer the software questions.
And the answer to that is... it depends. Most applications that were created for a 32bit OS will run just fine on a 64bit OS if they don't try to access memory directly. In modern OSes this is a very unusual thing to do for any application except a device driver. Older games might perhaps not like a 64bit environment but the types of application that would have trouble here are the same type that would have trouble running on 32bit Vista anyway.
And as for the reason why 64bit OSes are not very widespread... well that's a thorny question. One reason is that many apps that everyone uses do not have 64bit versions. MS Office and flash (aka. YouTube, Hulu, etc) are some important examples. hat doesn't mean they won't work on a 64bit OS... but they may have issues and you will most certainly not see any benefits. Since that is what the large majority of Windows users wants to do, there's not a very large demand for 64bit WIndows.
Another, similar, reason is that most people still use Windows XP. And when XP came out it didn't have a 64bit version. In fact I don't think MS created a 64bit version of XP until SP2 which was quite a long time after the initial launch. And because such a large interval had elapsed, 64bit XP had many changes and was not entirely compatible with the 'regular' version of XP. Vista was the first MS OS to ship with a 64bit version at launch but you're probably aware that it didn't get a very warm welcome. Perhaps Windows 7 will change the balance for MS's home clients. The situation is not exactly the same for other platforms and other types of computers (servers for example).