The hassle is this: you buy something, when the contractor tries to install it he finds out that it is chipped, broken, or defective, or there are parts missing. So, now he has a lot of time trying to find a replacement, or you do. If he bought it, and found it was defective AFTER installation, he'd end up paying to remove and replace it again after you find a new one. If you bought it, all of that time and cost would be on your shoulders. think of it sort of like insurance...you have a fixed cost to install. You might have to ship it back then wait for a replacement, he would generally be able to go to his supplier and pick up a new one, or have one in his own stock.
Acting as your own general contractor, you take these risks...you could buy your cabinets from the big box store, get them to the worksite, store them until needed, ensuring they don't get damaged in the meantime, then get him or coordinate with anohter contractor to install...one-stop shopping is easier, and you pay for it.
Most retailers end up doubling the price to cover labor, insurance, stockroom, medical, taxes, etc...ever wonder why you can buy a shirt for 50% or more off? It's marked up a lot from the physical item cost, but when you add in overhead, they may only make 5% or so.