I've been on e-harmony for the last couple months. I regret it. It cost me $100 for three months and it has returned no results.
Okcupid is better only because it is free and actually lets you talk to the person.
After using both they seem to cater to two different audiences.
E-harmony seems designed for people over 40 who have no social life and are too scared and timid to go out into the world to meet people. Its very ridigid and the majority of my "matches" are older unattractive women who are divorced.
Okcupid seems to be geared toward people under 35 who are only looking for a hook up or fling. It lets you talk directly to the person and even has a rating system designed to pair you up by different attributes like sexual computability...
They both suck...