But the fact that the utility is something which differs among people, and is secret (you usually cannot tell how much I am *really* willing to pay for that camera which is on auction right now, because my cousin gets them cheap), does not mean that you as an organizer of an auction, has to give in to that.
A first price auction, (sealed bid) is a bad mechanism in that sense: nobody ever proposes what they really think the item is worth, cause they are trying to gain something here. The lower they suggest, the more they gain *if* they win. But take the second prize auction: every user suggests a price, the one who suggested the highest price wins, and gets to but the good. At what price? the price that the second best offer gave. Example: Alice says 5, Bob says 10. Bob wins and pays 5.
Now, the user's best strategy is to tell the truth: his/her real valuation of the good. If the user names a lower price, then somebody might win the good at a price in which the user still gains. And why should the user care about the fact that the sum (s)he says is high? after all, it is not as if (s)he is actually paying it- the real price is set by the second high bid. Of course the user would never say more than her/his real valuation:)
Pareto efficiency is a term of stability. Stability is indeed reached when no small group (one, two, does not matter) can make an alteration to their status, without involving others, and be better off. This only means that this is a *local* optimum. Indeed, greedy algorithms are known to "finish", but what optimum do they give?
There is a whole theory about match making (cooperative games), for example, where a valid match is such that there are no two people (man and woman, in that case. I think the homosexual match making is more complicated) who prefer each other over their current status. Another variant is the match making of (US) medical students to hospitals. In both those similar algorithms, if the people who wish to be matched submit their preferences list, a main server can compute a valid, stable, Pareto efficient matching. The only question is, what matching would that be? The matching scheme that was implemented in the hospital-student algorithm creates the matching that is best for the hospitals and worst for the students. Running the algorithm the other way round yields the opposite outcomes, of course.
In short, Pareto efficiency just means the single person is helpless. An overall view of a server should be able to give better results, but then again the complexity of such an optimization is usually too hard.