The teaser also showed audiences that this is an entirely different hero and movie than what they are used to from DC.
The other thing about holding back on the action in the teaser is that it allowed it to focus on character.
The teaser acted as a primer for audiences, letting them know that this is a kid who meets a wizard and gets the powers to turn into a grown up superhero.
Shazam is, other than maybe Cyborg, the least well known of any DC hero introduced so far in this recent run of films.