I'd say they are crap, since (per Apple) you cannot replace them. Way to go Apple! You can get third parties to replace the battery for you however.

I have an Android, but my wife and son have iPhones. Their battery life is very good during normal times. Better than my Android. I don't know about during extended cold though.