Ye olde SRS.This is called "scope creep", and happens all too often. This is why in my line of work (software development for government clients) there's an awful lot of paperwork that happens long before a single line of code gets written, as people write down and review hundreds of pages of requirements documents. As a programmer I find this tedious, but it gives me the power to tell a customer or tester "no, I'm not going to do that, it's not in the requirements". If it's something the customer decides he really does want, then contracts get renegotiated, requirements documents get amended, and the cycle begins anew.
I read maclover001's first post and alarm bells ring in my head when I see terms like "now he wants" and "next he's asking for". The way to handle this in the future is to define up-front what the client wants, estimate how many hours it will take you to do the job, make sure it's reasonable for the price being quoted, then deliver the work. You might agree that the price quoted includes, say, up to 2 hours of extra work doing tweaks and adjustments.
If the client then says "great, but now I want", then you can stop him and say "I can do that, but that's beyond the scope of the original requirements, so let's agree on a price to do this additional work."
Nice explaination, BTW.