As a preschool teacher, I see everything the kids actually get into at school/daycare. You'd be surprised what some kids will do- lay on the (public) bathroom floor next to the toilet, use their hair for paintbrush, lay all over the ground outside with their hair in the mud/dirt/ whatever, smear food in it, etc. I've always bathed my kids every other day, or every day, if needed, and washed their hair just about every time I bathed them (unless it was a potty training accident or something like that). My 2 year old has hair just past his shoulders, wants to grow it longer, but when we're outside, he just can't seem to NOT lay all over the ground and then there's so much dirt, etc, in his hair, and he's growing his bangs out ( they're to the bottom of his nose), so he gets a lot of food in his hair, so lately, I find myself bathing my son and washing his hair every night. I think for my three oldest, it was every 2-3 nights they'd be bathed and hair older two are teenagers now, so they're every night) and for the sedond youngest, the 6 year old, she's the kind of kid where she walks into a room, mess flies at her, so she really needs to be bathed and hair washed every 1-2 days, or she looks like a sticky mess.
Yeah, we wash every single day, pretty much for this reason right here! Laying on the floor next to the toilet- gross!!