Dream eater is not very reliable, as the opponent must be asleep when you use it. Leech seed is a great move for damaging the opponent and regaining HP at the same time, making it superior. The only reason leech seed would not work is if the target is a grass type, or has magic bounce. Leech seed is much better than dream eater.