Yes, there're indeed still many happy stories out there. I guess engineers tend to be trained as a pessimist.
It probably helps the situation if the client doesn't have or exercise his immerse bargaining power over the developer, such as someone working for a multinational firm, who may think everyone is simply dying to work for them at all costs.
And, o yea, it's always more pleasant if you can simply directly chat with your client instead of his attorneys (happens more often during contract negotiation). We're once bogged down in a negotiation (concerning profit sharing, among other things) for almost a year (the client got plenty of lawyers). In the meantime, the product development and marketing were partially stalled.
O, right. That's why sometimes a programmer should appreciate his business counterpart for getting the verbal bitch-slapping from a client for him, if nothing else.