The reasons are easy to understand. People are willing to take on the risk of owning hard currency (gold, dollars, euros) if they believe that their nominal currency has greater risk. For example, if a government is spending recklessly, there is serious risk of inflation. Or, if the government has forced interest rates to be too low (well below inflation), then people want to hedge against that too.
By forbidding the ownership of hard currency, the government forces individuals to use the local currency. They must save in this currency, which drives down interest rates and provides cheap capital to their government. And it prevents (for a short time) exchange rates from significantly changing, because it effectively limits the supply of the local currency and reduces demand for hard currency.
EDIT: I forgot to mention the other reason governments do this - it's a great way to force the people to bear the burden of paying down national debt. If the country has significant debt, then the bureaucratic elite have a huge incentive to pursue a policy of inflation, so that the debt becomes less burdensome over time. This well written article from The Economist explains how the west used this technique in the post-ww2 era: http://www.economist.com/node/18834259?story_id=18834259