Question: Can any chess engine tell you why a move is bad or good? For example, say a chess engine says the score against my opponent is currently +2 in my favor. I then make a move and my score drops to say 1.4. Can any engine tell me what I did wrong such that my score dropped from 2 to 1.4 (assuming I didn't hang a piece or pawn etc.) 

It seems to me that having chess programmers make their programs even stronger is now pointless and it would be much more beneficial to the average chess player if they could have their programs instruct us why a move is bad (or good), assuming they currently cannot do this.

Answer: 
I think the chess engine can "tell" you, but in an indirect way.

What I would do is to play several different moves from the same position. The chess engine will (presumably) give you a different score for each one.

This will allow you to "rank" the various moves. Perhaps a pattern will emerge. If not, you might want to get a (stronger) human player to explain the chess engine's rankings to you.
No.
Although Chessmaster as mentioned by everyone can tell you some basic things like if the following line will result in an exchange sacrifice or you may lose a pawn and so so.

But you can also analyse this yourself by playing down the lines. There are no chess engines nor I see any in the near future that can explain why the move is good/bad unless it will cost you material difference. As a engine may have played a move to improve his position in the future say like after 50 moves. There is no way it can explain to you why this move will result in a better position after 50 moves.

Also major chess engines in the market like Stockfish etc. do not even bother to include such features as the level chess engines play at are completely different and very hard to analyse even if we are provided with explanation of every move.