Why Don't Wedding Photographers Show Clients ALL the Shots?
As a wedding photographer, my business thrives off of referrals, and it doesn't make sense for me to hold back any good images!
So, to actually answer the question: The images held back are the ones that are test shots and "bad versions" of the good ones. As a photographer that retouches every single image before the client sees it, I would have to charge a lot more to cover this extra time spent on images that aren't any good, and it would be a waste of my client's money. If there are two or three good ones I'll leave it up to my client to choose their favorite, but there is no need to show them out of focus images, images that are lighting tests, a black image where the flashes don't fire, the portrait where dad's eyes are only half-open and he looks drugged, etc. Virtually 100% of the time, the next frame is the golden one, where everyone and everything looks amazing. These are the shots that are turned over. It doesn't benefit the client, or myself, to put bad images out into the world.
Take your wedding cake, as an example. Your bakery isn't going to put the scraps from the cake-making process in a container on your cake table beside your perfectly decorated wedding cake. They're delivering a final, finished product, nothing more and nothing less. Same thing with us wedding photographers. Get to know your photographer before the wedding, (engagement and bridal shoots are perfect for this), and don't be afraid to ask them questions. Check out their albums to get an idea of their work throughout an entire wedding, not just their best shots shown in their portfolio.
My personal policy in regards to this topic: I do not show every single image taken to the client. It would be a waste of my time, their time, and their money. Clients receive a polished, finished product that covers all the details, moments, and portraits captured during the event, edited and retouched to perfection.