I have heard of companies giving these kind of projects before as part of the interview process, but never had one myself. My understanding is that they don't expect you to finish it completely, and the nature of the project was probably designed in such a way that it would be impossible to completely do so in the time given. That should be a strong hint that they really only want to see that you can to make a sensible start and justify your design decisions, rather than to deliver a complete system.
The thing you should be thinking is "how can I use this opportunity to show off my skills". As developers, we don't have much of a chance to show off the goods in the recruitment process (graphics guys have their portfolio, salespeople can do their sales act). From the interviewer's POV, it must be hard to find ways that show off the exceptional candidates from the guys who just fill their resumes up with keywords. So we end up with puzzle/riddle questions, aptitude tests and whiteboard coding as HR people try and figure out a way to do that. So this is just another way, and a better one, as far as you are concerned. Instead of having to remember how to approach certain types of riddle questions, or memorize the big-Oh complexity of algorithms, you can go away and produce something that shows both your interest in the job, your reasoning ability, and your coding skill all at once.
The coding and deploying a small web app would probably not be so hard if you were given a choice as to the implementation language. Using RoR or Python/Django and some CSS wizardry you could put together something that works and looks nice in a weekend. Writing a thoughtful spec and design doc and considering whatever vague requirements they have given you might be harder. Are they a TDD shop? If so, maybe you should write the tests before you code. Most of all, follow a process that makes sense and that you can justify based on what you were told.
If I really liked the job I would do it for sure, and really go out of my way and try to wow them. If I wasn't sure about the job then I would probably do the same as you, and just politely decline and keep looking. In the end, ultimately it is for the best; If they are looking for someone who really wants to work there, and if you're just ambivalent about it or not sure, TBH you probably wouldn't have been happy there anyway.