A "mood" is a temporary feeling that you have, which normally lasts a few hours. For example:
Don't talk to her now. She's in a bad mood.
In this example, you're saying someone has been angry or upset for a few hours or for a day or two.
When you say "I'm in the mood for ___", it really just means "I want ___". But saying you're "in the mood for" it makes it sound like it's a temporary feeling. This works well when you're talking about food, because you want different food on different days, depending on how hungry you are and what you've eaten recently: