I think money is the reason for a lot of bad things that happened and are still happening. It is not money itself however, but the greed behind it. But money enables this greed in an unparalleled way. Trade, if it is kept to actual and not 'virtual' trade or trade through intermediates, might be able to put a certain practical limitation to this greed because it would take too much to actually get vast amounts in the end.
But, money is quite a lot more practical than trade which is probably why over time it was generally accepted. In theory it doesn't matter if it is money or 'virtual' trade. Here's what I mean.
Let's say you have 1000 marbles but want a car.
Person A trades 1 sack of paper per 10 marbles.
Person B trades 1 printer per 10 sacks of paper.
Person C trades 1 car per 10 printers.
To get a car with just the 1000 marbles, you would first need to go to person A, then person B and finally person C. Since this would involve quite a lot of work just to get what you actually wanted, you would probably make something like 'virtual' transactions. You say to Person C that they will get 10 printers from B, and to B that they will get 100 sacks of paper from A, and you give person A the 1000 marbles. With that you could skip person B.
If you transfer this to longer chains of trade, you will in the end get a 'virtual' currency, which will not be much different from money.
The main fault is with human greed, but money is an excellent fuel for this greed.
Edit:
From a psychological perspective money can become what one really wants because of its reinforcing effects. Money itself has no/little value but since you learn that money can lead to desirable things (the reinforcing effect) you can end up wanting money itself, which actually never really had any value for you, because it led to desirable things so often or you just imagine what desirable things you could get. Then you are no longer after the things you want to buy, but money itself.