GFI outlets are $15+, and normal outlets are $2. This adds up when you're building a house: a typical house has something on the order of 30-50 outlets, so you're looking at $400-$700 vs $60-$100. It might not seem like much in the grand scheme of things, especially to software engineers making lots of money, but if we had this approach not only for outlets, but also for everything else, building literally anything would cost 5 times as much (and in fact it does these days, to a large degree because we can afford spending 5 times as much on building).
Where are you getting your prices? Last time I checked, GFCI outlets were indeed around $15, but the normal ones are less than a dollar when you buy them in bulk packs (which you would for building a house). Otherwise, your point is sound, but the price difference is even greater than you said.
Those standard outlets are really dirt-cheap, and it's annoying that builders are so cheap about installing them. New construction has gotten better though, but really there should be an outlet every 5-6 feet in my opinion, or maybe even less.
Home Depot non-bulk prices -- the only ones I'm familiar, as I haven't had a need to buy many of them at once.
Also worth noting is that you can wire your circuit in a way that the first one is GFCI outlet, and the subsequent ones are daisy-chained to it, so that all of them are protected by GFCI. Of course, there are reasons to not do it (e.g. it is then quite confusing when the GFCI trips while using some non-GFCI outlet, because it might not even occur to people to check the GFCI outlet which might not even be used), but that's also an option if you want to save money on outlets.
Also, I think the reason for few outlets in buildings is not the cost of the device, but rather labor required to put it in. Connecting wires to the outlet is quick, but you need to also install boxes, route the wire to the boxes, mark and cut the drywall to get to these boxes etc. It can all add up to significant labor time, and if you look at what electrical contractors charge, the cost of the device itself is a small part of it.
>Home Depot non-bulk prices
Definitely check out the 10-packs; if you own a house that isn't new, and are already doing some wiring work, it's not a bad idea to keep some extras around and maybe replace some of the crappy older outlets when they're so cheap.
>Also worth noting is that you can wire your circuit in a way that the first one is GFCI outlet, and the subsequent ones are daisy-chained to it,
Yes, this is actually normal for kitchens, where all the counter outlets are on the same circuit. Just put the GFCI on the outlet nearest the breaker box, and all the others are then protected by it. It is really annoying, however, when people retrofit these things into old houses and you get something like a downstairs bathroom outlet that has no apparent GFCI, but then it trips, and you have to hunt around the house for the GFCI outlet only to find it in a bedroom on the upper floor. I rented a house for a while where both bathrooms and both bedrooms were all on the same circuit (lights too!), and on an old GFCI outlet that would frequently trip and leave me in the dark. Extremely unsafe.
>I think the reason for few outlets in buildings is not the cost of the device, but rather labor required to put it in.
Yep, that's exactly the reason, but it's still annoying because years later, you have to move furniture around to find an outlet that your device's cord can reach because there just weren't enough installed.
> It is really annoying, however, when people retrofit these things into old houses and you get something like a downstairs bathroom outlet that has no apparent GFCI, but then it trips, and you have to hunt around the house for the GFCI outlet only to find it in a bedroom on the upper floor.
They do have GFCI breakers. I'm not sure how they compare in cost, but one disadvantage is that you can't easily test them (who ever bothers going to their breaker box to test the GFCI occasionally?), nor can you easily reset them when they do trip.