The goal of programming is to do entertaining and/or useful things. Alice is a wonderful teaching tool because it allows the programmer to do entertaining and/or useful things without fretting too much about syntax and semantics. In the process, the student is exposed to objects, methods, variables, control structures, functions, events, etc..
For many school-aged kids, those entertaining and/or useful things may be creating a moderately complex game or just telling a story (essentially a small animated movie). Keeping kids engaged and quickly making visible progress toward the goal, while exposing them to strong programming principles, certainly makes Alice a good teaching platform.