Nash equilibrium is a very powerful concept as it actually allows us to make predictions that can be scientifically rejected. It is one of the few concepts in economics that goes beyond pure explanations. In doing so, however, it has to make several assumptions. And as with all theories, the induction from the assumption to general statements is debatable, as are the assumptions themselves.
An individual is said to be involved in a game, when his fate depends on the actions of others. Thus he must choose strategy that maximises his utility not based on his individual preferences alone, but on the likely moves of other players as well. There are two types of games – ones with complete and others with incomplete information. The later must normally be reduced to the former in order to analyse them. So in general one assumes complete information. That means everyone knows everybody’s payoff, and they know that others know their payoffs etc. Individuals are also rational and for the Nash equilibrium to occur there should be no prenegotiation prior to the game.
The simplicity together with the power to analyse real world events, are the key strengths of the Nash equilibrium. It is straightforward to calculate, despite the fact that it is hard to program into a computer.
It is also the precise model for some games – the initial assumptions can be entirely satisfied. For example, for firms in oligopoly situation with large sums of money involved and fierce competition, the Nash equilibrium is the perfect model.
Furthermore, the model is also a sound basis for more complex models. Nash equilibrium can easily be extended to incorporate repeated games and games with asymmetric information.
However, the Nash equilibrium is not always describing the true behaviour. For example in the following game:

Player 2 

Player 1 
1,1 
0,0 
1000,0 
2,2 
The rational Nash equilibrium should be 2,2 but in practice Player 2 is well aware of the risks facing player 1 and thus expects him to choose top.
Nash equilibrium also implies that individuals have unlimited computing capabilities. That means that individuals can resolve the infinite loops arising from logical reasoning: I think that he thinks that I think that etc. In practice people do not have the ability or resources to compute infinitely and are thus deliberately uninformed and make bad decisions. For example, often the dynamics of the market is to rapid for the individuals to catch up.
Nash equilibrium does not involve the concept of risk. For example, for the game two, why should player I choose b, when by risking a bit, he could in fact get 100! Although rationally he should never get the hundred, there is the chance, so the individual is willing to risk his 1 unit. If the other person is similarly risk loving, then they together make more money. Now at some point the odds become so obviously against the player that he opts out. But it is false to assume that it would happen before the players are in 90s with their playoffs, as even then they are risking only one unit to gain possibly 10. This analysis essentially assumes that people do not hate each other. They see the possibility that the other person gets more as something very bad.
The other set of problems involves the desirability of Nash equilibrium. Essentially it looks at the various assumptions and explores the ways that the equilibrium could change when the initial conditions are relaxed, or made to include more information. The most obvious condition that attacks criticism is the rationality. How about social values and altruism? Should we really always modify the game to encounter for the possible utility achieved by the player when the other player does well? Or is it a lot easier just to assume that when two strategies are almost identical then the one benefiting the society more will be chosen?
It is also true that the Nash equilibrium only gives the optimum or equilibrium value. Not the true one. But the optimal value is only so in the sense of sustainability. It is not optimal in welfare sense as the infamous prisoner’s dilemma shows. Nash equilibrium is not always Pareto efficient. Also the payoffs are not always different. In two similar payoffs the Nash equilibrium obtained is not certain (the weak Nash equilibrium).
And sometimes there is no Nash equilibrium at all, making the concept unreliable. However, various extensions to the Nash equilibrium rectify that problem – like when the fact that NE must not be of single value and could be a probability distribution instead. Furthermore, if people learn from games then certain strategy might well become Nash equilibrium, because players will learn that deviations will be punished by other actions.
Thus when modified to a particular problem, the Nash equilibrium can not only be descriptive, but also prescriptive. It is a very well developed topic and thus its assumptions are well understood and easily modified. The only serious flaw is the assumption of infinite computational power. To predict more realistic outcomes a lot of psychological work needs to be done in order to predict how much exactly the people bother to calculate in certain cases. The main uses of Nash equilibrium is as a base for further theories and as an analysis of how the payoffs in a game should be changed in order to achieve more Pareto optimal output. It definitely fulfils the first task, and as long as we adapt it to particular problem, it does well in finding the solution to the second one.