There is no address limit. You keep generating addresses forever.
No practical limit, but (please correct me if I'm wrong) technically there's about a 2.1 billion address limit. Might be a problem for Amazon, but not for most anyone else.
With Bitcoin Core's current implementation, I believe it will wrap around once it hits that limit and begin producing non-hardened keys, and once those are exhausted it will loop infinitely. Not that I'm particularly concerned about that at the moment....