Governments are always having to make tough decisions. One of the toughest is whether or not to run a deficit.
What does running a deficit mean? It means that the government will spend more money than it takes in, and will have to borrow from future revenue sources in order to pay for its expenses. This may sound like an irresponsible thing for governments to do, but there are several instances when they choose this route:
1) When interest rates on bonds are low
2) When the economy is weak
3) To promote economic growth
In the first case, financial markets have low expectations for inflation and are therefore willing to lend money at relatively low rates. This makes borrowing a cheaper option than raising taxes or cutting spending. In the second instance, when an economy is in recession there may be no other way of kickstarting it back into life without some kind of stimulus package like running a deficit.
Finally, governments will sometimes borrow to promote economic growth if they believe that this investment will pay off in future years through increased business activity and higher tax revenues. However, these deficits should always be as short-lived as possible so that any increase in debt balances does not become unmanageable over time. There are limits on what can be achieved by using public finances alone.