My android phone used to spontaneously reboot once a month or so and since it was encrypted, it wouldn't finish booting until I entered my unlock code, so the alarm would not go off. I haven't had that problem in a year or more plus now I think even an encrypted device will boot up enough to make the alarm work (though I'm not certain).
Also, about once a month or so, I either forget to plug my phone in or don't get the cord plugged in all the way and I wake up to a dead phone.
A standalone alarm clock (battery operated or with battery backup) is much more reliable.
Though nowadays when I need to get up on time (like to catch an early flight), I set an alarm on a second device, either my wife's phone or a tablet but if I didn't have that option, I'd use an alarm block as backup.