Nitpicking can be a telltale, but it's no indication of whether you will get paid or not. Web projects are too difficult to define and thus it is extremely easy to claim extras to be included because they are useful to the project, making the job incomplete.
But how do you fully spec a project until you build it? Or do you spend eons writing up a list of features to be included, and then to do that properly, spend almost as much time defining them as it might take to build them?
For me there is only one solution... the customer pays up front. If they don't like that idea? They can go elsewhere. There are too many scammers and anyone given credit has no incentive to pay.
But they still try it on. Recently we did a software install on a client's server. There was a middleman acting as "agent". The client contacted us complaining that the job was overdue. The truth of that matter was that the agent had wasted 3 months trying to get something for nothing when they were told at the onset "pay first then we install". When they finally ordered the job was installed within the week. Normally it could have been done within 24-48 hours but we also included many new features. In fact we provided a much more sophisticated solution than what was ordered.
Then we heard that the client was unhappy and won't pay until modifications are made. These modifications would be a complete rewrite of the application to do something entirely different to what was demonstrated and purchased.
So what do you do? If we had not been paid up front we could be at the mercy of cretins. But who is the cretin... the client or the agent? Having been paid already it's not our problem. They ordered 100%, we delivered 200% and they were quoted for further customisation.
There are far too many people doing business like that and with web applications it is far too easy to stretch the original proposal.