While indeed there are screwed up people who might be religious crazy, or anti-social, or simply just like to terrorize people, majority of today's "terrorists" are indeed people who feel being oppressed. For example, many terrorists are from Saudi Arabia and they were under Bin Laden. Why did Bin Laden become anti-America? Because he told Saudi King not to let US military set up base in his country. He predicted that once the US force set foot there, they will never leave. And he was right. Basically he thought his country was under occupation by the US.
As for many others, for example Iraqis... you know why they want you died if your country were among the list of countries of coalition during the invasion of Iraq.
The bottomline is, a lot of terrorists are from the countries which were bombed, invaded, had their government replaced, etc. They felt being wronged.
By the way, under no circumstance I would support the act of attack on civilians. But majority of these "terrorists" are not really attacking civilians. They were called "terrorists" for fighting in their own country against foreign occupation. That happened before... French resistance were "terrorists" under Nazi occupation... right? Only a small percentage of these "terrorists" actually went as far as going to the enemy's homeland and try to terrorize the civilians there, these are true extremists.
Anyway, in my opinion I believe if there is no more invasion of foreign countries, there would be very few terrorists. After all very few true crazies would want to throw away their life for nothing. Yes, there is always a cause, whether you agree with it or not. At the moment, the most common cause is your military had attacked them in their own countries first.