I would say AnimatedSprite is mostly a shortcut for frame-by-frame animation, which makes it easier to do. AnimationPlayer is indeed more cumbersome to use for that, because it is a general-purpose animation node (it can animate frames but also any property such as position, scale, color, with curves etc). They both do the job anyways, use the node that suits your case the best :)
Side note: you can still use the same texture atlas with AnimatedSprite by creating AtlasTextures from the inspector, or defining ImageGroups in the export settings.