It is stuff like this that makes me want to smack whoever invented the language! It also is annoying with these sentences with no context that can easily have multiple meanings that are marked wrong when they are right.
He waits in order to eat today, makes it sound like he is required to wait in order to get food.
He waits to eat today (because he wants to, because he has something to do)
IF this is correct: He hopes to eat today Ele espera comer hoje
Then this should be correct: He hopes to eat today.
Ele espera comer hoje.
Eu estou frustrado
"Whoever invented the language"...? Languages are not invented, they evolve and develope over time. Nobody sits down and decides on these rules and lets everybody use them. Just because a language doesn't function the way that you are familiar or comfortable with, doesn't mean it is illogical or inferior. You need to change this childish mindset and learn to respect the language. Otherwise, don't bother trying to learn it.
Esperar means, mainly, "to wait" and "to hope". "I've been waiting for you for an hour" (tenho esperado por você por uma hora). I hope you know (espero que saiba). Expect is the same way once it's somewhat similar to hope, as well as intend, which can be translated as "esperar" and "pretender" (take care: pretend = fingir// intend = pretender, esperar)