If you had a highly complex molecule with lots of different heteroatoms and functional groups on it would that mean there could be loads of different possible stereoisomers? If so what would you call these steroisomers? Obviously not enantiomers
To answer your original question, that's a layman's definition of diastereomers. I like to think of it this way: map out the (R) and (S) nomenclature for each stereocenter for the 2 molecules. Then go stereocenter by stereocenter. If all of the stereocenters changed nomenclature (say, from (R) to (S)), then the compounds are enantiomers. If some but not all of the stereocenters changed nomenclature, then the compounds are diastereomers.
Some-but-not-all stereocenters change = diastereomers
all stereocenters change = enantiomers.
The prototypical example is thalidomide (
http://en.wikipedia.org/wiki/Thalidomide). One enantiomer is used to treat morning sickness in pregnant women. The other is a teratogen (causes birth defects). Problem is, even if you administer the drug in enantiopure form, the stereocenter will racemize in the body to a racemic mixture - and the teratogenic properties persist. They don't give thalidomide anymore.
Another interesting example is Prilosec (omeprazole) and Nexium (esomeprazole). Prilosec (
http://en.wikipedia.org/wiki/Prilosec) is a racemic compound widely used to tread acid reflux disease. Turns out, one of the enantiomers is significantly better at treating the disease. Thus by separating out the active enantiomer, the drug can be administered at half the dose with the same efficacy. So they did that. And they called it Nexium (
http://en.wikipedia.org/wiki/Nexium). They put the racemic prilosec over-the-counter and kept nexium by prescription only.