My understanding is that if you over-optimised a system via historic data only, you will only get a system that will tell you how to trade to produce the most profit only during those past period. There is no guarantee that the system will exhibit the same type of performance if being traded in the future and thus, one of the best practices out there to system optimisation is to use forward testing over many different uncorrelated markets.
What I meant by forward testing is to optimise your system, for example, the period from 1995 to 2000, then test the system from 2001 to present. (again, FOR EXAMPLE ONLY!)