If it's worth saying, but not worth its own post, then it goes here.
Notes for future OT posters:
1. Please add the 'open_thread' tag.
2. Check if there is an active Open Thread before posting a new one. (Immediately before; refresh the list-of-threads page before posting.)
3. Open Threads should start on Monday, and end on Sunday.
4. Unflag the two options "Notify me of new top level comments on this article" and "
My standby is "From what you've described, it would take about $X days" where X is an estimate that assumes that they want everything associated with what they've said. (So, if they asked for messaging, I assume they want user icons, some kind of friends list or department groupings, and probably file transfer too.) There is a genuine use case for this! If your business guys are non-techies, they might know that adding some feature will probably earn Y dollars, but don't know how much it would cost to add. In those cases, they're really looking to estimate if it's worth it; if they're doing things right, the next step if it looks good is to actually sit down and write up a solid spec.
Of course, lots of places aren't like that. At my job, my estimate is continued with "but I could be pretty far off in either direction. Can you tell me more specifically..." and then from there try and guide them into giving me actual requirements. I write down the main points of what they're asking for, say it back to them when they're finished and make any revisions, and then email them that. If they agree that's what they meant, then I start working on it.
This still doesn't quite work. I've had my spec change radically two or three times a sprint (two week block) or been informed they assumed certain things were just obvious parts of what they asked for. (Like the messaging = file transfer thing. That was uh, non-intuitive, though I should have seen that coming since most major messaging systems have it.) In the end, the most important thing is to make sure you get paid for it. If I'm getting money to sit at a keyboard and think, I'll get over throwing out half the code I write.
If you want more advice on constructively dealing with it, I'm sure there are people here with more experience than I have. If you're looking for commiseration, you have mine.
If they want to edit something in a web application, I assume they will also want the ability to edit the data on a smartphone without internet connection.. and then upload the changes later when they get online, and of course have all the edit conflicts magically resolved correctly without any user intervention. Did I mention it is supposed to work on all kinds of smartphones and notebooks?
(Ok, I am lying, I actually didn't assume this... and it actually happened.)