For example, in interviewing for a job, initial calls with a recruiter and the hiring manager are over. As part of the next steps, the candidate is given a short design or coding test to complete in their own time. This is what is meant by "homework".
My personal opinion is that it's an inappropriate use of a candidate's personal time and reflects poorly on a company's attitude towards work-life balance. I also think it's unprofessional, in that a candidate is being asked to do work for free, even if it won't ultimately be used. As a candidate, I've also had the situation where one company asked for a design test, thus extending their interview process, while another made an offer before the test was complete.
Edit: Just to clarify, it's not a dev project. I'm just using both as examples to make the question universal. Also, my point on the time is not that use of a candidate's time is required; it's on inappropriate use of a candidate's time (as opposed to use of both the employer and candidate's time together).