Although the lack of action scenes was primarily a practical decision, I think it was ultimately a smart one. For one thing, fans of superhero movies are highly critical and with DC's ahem, black eyes in such matters, it's probably best to not show something until it is truly ready. The other thing about holding back on the action in the teaser is that it allowed it to focus on character. Shazam is, other than maybe Cyborg, the least well known of any DC hero introduced so far in this recent run of films. 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. His whole origin was condensed into less than three minutes. The teaser also showed audiences that this is an entirely different hero and movie than what they are used to from DC. The humor and the tone are the selling points here as much as any fist fight.