The advantage to HTTP validation is that it's simple. No messing with DNS or API keys. Just fire up your server software and tell it what your hostname is and everything else happens in the background automagically.
NB that rate limits apply https://letsencrypt.org/docs/rate-limits/