China is a big country. It has 56 ethnic groups. The biggest one is Han Chinese and holds 90% of the Chinese population. Not only people is difference, our language also differences in different city. Mandarin and Cantonese are the most popular in china. Mandarin is the one that everyone knows. On the other hand, people from very south of china, like Hongkong, GuangDong are the two major city that us Cantonese.
We can understand with each other although there are 56 ethnic. The person who makes that happen was the king of Qin in the Qin dynasty. Three important things that he did is unification of the currency, unification of language and unification of characters. Without those three important concepts, we will not able to communicate.
One of reason why Cantonese become one of the most popular Chinese speeches, because of the first economic growth is located in GuangDong area. Most of the factories are located in GuangDong. You can see many product are from Guangdong. Although, Beijing is catching to Guangdong, but there still have some distances. First, it is hard for company just move their manufactory from one city to other city. Sometimes it will make them better off to stay in where it is rather than move away. Second, the average spending in Beijing is getting more and more because of the Olympus game last year. Business man would stay in Guangdong While Guangdong is cheaper than Beijing. Last, I think Cantonese is already creating a popular. With so many stars are also speak Cantonese. So, people would love to learn Cantonese normally.
Now, a mandarin is importance, too. That is why foreigner learns to speak mandarin not Cantonese. The majority is speaking mandarin and just few cities are speaking Cantonese.