What if you just don't get it. What if you can't nail what they want.
I have had this happen **many** times, especially in design. With programming, it's much more quantifiable, black and white, no gray areas (which is why I like doing it over design. :-) )
With design, you can argue over a good or ugly shade of green ad nauseum; color and "design" are subject to one thing and one thing only: "I don't know art, but I know what I like." Even when you try to politely convince them who has the degree in art/design and who doesn't. :-P
I've had customers come to me with sketched mockups, compete with Pantone color swatches. (<lol>, Pantone is print technology but "bless their heart" for the effort.) Designed it to spec, precisely what they mocked up, validated in all browsers . . . and answered with "we're going to have so-and-so design it, this just isn't what we want."
(But it IS what you SAID you wanted!) The bottom line, and answer to your question above: you should still be paid for your time. I look at these as "we're both better off." Like a failed relationship, nothing is gained by trying to force it along, all that does is build frustration and bad mojo for both parties.
I've even had these "ex" customers come back for different work, based on the professionalism exhibited in "letting go." So it all works, I think.
or the customer is picky.
Most of the time it has nothing to do with picky. The whole visual aspect is highly subjective, see "I don't know art" above.