I prefer the "Know what you are" approach. It all very well saying "be more disciplined" etc etc....
But I think one of the things that people should focus on and rarely do is their weaknesses. Know your weakness, understand your weakness and how it affects your trading. When you understand your weakness, you can build a trading plan that helps you avoid it.
Simple example. I'm quite impulsive. Having the Buy and Sell buttons staring me in the face all day is just a recepie for disaster. At some point I lose my control and take a trade with know signal, no entry requirement met and so on, and before you know it, a weeks profit is gone. Alternatively the impulsiveness would often lead me to cut winning trades short.
The solution for me was to trade with orders, rather then physically hit the buy/sell button. I'm still trading the same method, looking at the same levels, but now I just set my orders and stops and walk away. I only check the markets only 3 - 4 times a day now. It funny, my biggest profits have always come from trades made while i'm not at my desk!
I've not changed my method, I've just changed the way I trade it and at the same time i've managed to remove one of the biggest problems I had when it came to trading.
Took me almost 10 years to realise that trading is not about changing yourself, its about understanding yourself.