With your edit, it seems like AlarmDroid is a good candidate. I've used it for years (until my home-automation took over my stereo for that purpose):
- Reliable: Yes. Never missed a single alarm.
- Wakes you up gradually to a sound of your choosing: Yes: a) you can have the volume increase from X to Y within Z minutes (configurable for X,Y,Z) and b) choose between all kinds of sound (pre-installed alarm sounds, an MP3 file, a playlist, a stream – each with or without a "talking clock" you can configure what to tell you, including time, weather and more).
- Tells you duration until alarm will sound (e.g. "Alarm in 3 hours"): Yes. But only visually (would drive you nuts if that were announced all 5 minutes, and you'd get no sleep either ;)
- No ads! Well – at least not when you're using an AdBlocker or, with the fair approach, do the one-time inApp purchase :)
- No more than a single fee or in-app purchase for full functionality: Full functionality for free. Get rid of ads with a single inApp purchase.
What you didn't ask for: Well maintained and regularly updated (at least while I used it; right now, the last update is 6 month old). The only issue I had with it is that sometimes those updates broke the "talking clock" – but never any other feature.
AlarmDroid: Alarms / Alarm Settings / Chose sound (source: Google Play; click images for larger variants)
Now for your NoGos:
- For the alarm to also use the screen's LCD to wake you up: No. Didn't even see an option for that.
- For the alarm to use the device's camera flash to wake you up: No flash, no thunder. Doesn't explode either (or jump from the desk, having you to catch it if you want to silence it :))
- A requirement to answer a math puzzle or something similar: No requirement to choose that option – though it has the option to choose that requirement, if you know what I mean :) See second screenshot, at the bottom: "Obstacles enabled" (checkbox).
PS: For an alternative, take a look at Alarm Clock for Heavy Sleepers (known as AMDroid before it got renamed). Quite similar feature set, with the addition of calendar integration (so your "weekday alarm" wouldn't fire on Easter monday, for example).