In all honesty I think the "homework" tag needs to be removed. For one thing it encourages people to freak out and append the tag to questions to which it simply doesn't apply. For example, Bill the Lizard gave me hell for not using it on one of my questions just because he thought it was outside the norm (and it was, as was mentioned in the first sentence); I haven't been in school for years. Second, it encourages people to ask dumb questions like, "Plz wrt my cod." Third, and finally, it creates a bias on behalf of a large part of the community because 'homework' questions have this stigmata about them like they're less valid somehow.
A good question is a good question, period. For example: https://stackoverflow.com/questions/4620968/checking-the-type-of-a-protected-member-function
Whether or not that question is needed to solve a homework problem is sort of beside the point of anything related to answering or asking the question. Bickering about whether or not it actually IS for solving homework is petty, distracting, and serves no end whatsoever.
It's easy to tell the difference between a question where the user's done some work attempting to solve the problem and one in which they have not. It's quite easy to tell that someone's simply quoted their homework problem verbatim and asked SO users to give them the answer. You can flag/neg these questions out of existence without there being a need for a homework tag. If they're not homework does that make them MORE valid somehow? I don't personally think so (and my opinion is scripture so there you go).
It's also easy to tell when a question is best answered directly or by encouraging the asker to do research on their own, with some direction as to what it is they need to look for. Granted, giving answers like that is likely to get you abused, but that's beside the point. If the asker is an intern working on a real project instead of a homework problem is the nature of the question actually changed at all? Again, not in the slightest.
Should help solving exercise questions from a book be tagged "homework" even if they're not?
So I honestly see no use in this tag whatsoever. It seems to me just one more way for the community to label questions and questioners that are outside the normal range of topic. Asking obscure, seemingly strange questions--or asking incredibly easy questions--should not warrant this kind of reaction and even though such reactions are quite natural (human nature being what it is) they shouldn't be encouraged by providing special tools for expressing them.
Before SO there was Usenet and when I was in school, and when I was teaching myself, that is what I used to get help with things I couldn't solve on my own. There was no homework tag. When I asked a stupid question I got shit for it, as I should have. When I asked a good question it was generally answered seriously, as it should have been. Homework/not-homework, nobody should care.
Edit (caveat): I actually see one use for this tag but it's not what the tag is used for. Sometimes a question asked regarding homework really does have a different answer than one meant to solve a real world problem. For example, I got trolled by this guy because I suggested to someone who didn't understand their homework assignment that their professor wanted them to learn about references and/or pointers and to look in recently assigned text for related items. I got abused for recommending bad practices, which is of course not at all what I did (reading a book is never a bad practice). Of course I would never recommend that someone use pointers for "output parameters" in C++ (in fact I don't recommend output parameters being used at all), but if learning what pointers are was part of the assignment then using pointers is actually the correct and only helpful answer. In this regard only I see a use for the tag, but since it's too often abused and used as a scarlet letter...I'd vote for its destruction.