GPS is definitely more power hungry and easily blocked, but when you get a solid signal it's far more accurate than WiFi positioning. GPS will pretty reliably nail down your location to within 2m or so, while WiFi positioning is probably an order of magnitude worse. The main use for WiFi positioning (besides devices that simply don't have GPS capability at all) is for indoor location, because GPS signals tend to penetrate buildings poorly.