Query with custom taxonomy not working

The solution is to use:

'taxonomy' => 'meal', 
'field' => 'slug',
'terms' => 'breakfast'

The taxonomy and terms are obvious, but why does field have to be slug? When you add taxonomy parameters, you can specify what ‘breakfast’ is– via the field. It could be the term’s ID, the full name, or slug. See the codex on Taxonomy Parameters