How many confirmations do I need to ensure a transaction is successful? As a regular user of Bitcoin, I often send bitcoins to other, or receive BTC from others, sometimes this might be a trade or deposit. Some traders require at least 6 confirmation, some require at least 3.

I want to how many confirmation is enough to ensure the transaction is successful?
It depends on your risk model.

If you can trust the person paying you, you can accept payment on 0/unconfirmed if you want.

As a merchant or trader, you want to use the configuration that is more secure (no incoming connections permitted, explicity connect to well-connected nodes).

With zero confirmations you are vulnerable to the race attack and the Finney attack, as well as the 51% attack.

With one confirmation you are vulnerable to the 51% attack.  There could also be a miner with a lot of hashing power who could get a couple blocks in a row, so three confirmations removes most of them.

With six confirmations it is essentially mathematically impossible for an attacker with less than 51% of all mining capacity to get six blocks in a row. and still surpass the longest block chain.  With 51% or a lot more than 51% the attacker can get six confirmations by creating a parallel blockchain in which only transactions approved by the attacker get included in blocks.

A merchant like a retailer can likely accept even on 0/unconfirmed in most instances (e.g., purchases up to $100 worth).     A merchant that ships e-commerce might hold off until the transaction has three confirmations.

A cash, face-to-face cash trade will probably be best if three confirmations for a large amount, maybe one confirmation for small amounts. 

Any recommendation would need to come only after determining which risks are deemed acceptible.