It's all about feedback.
You have some choices to make in order to give the proper feedback to the user according to the situation you're facing, here are some guidelines for text and animations:
Text: helps to be explicit about the type of wait that the users should expect. Why do they need to wait? do they need to be aware of the reasons of the waiting time? "Please wait" or "Copying file from X to Y..." can be very different in terms of the user's expectations and easing the waiting time.
Animations: there is a whole topic on the type of animations, usually there are two scenarios: when progress is determinate and when it's not. For determinate progress you'd probably use a progress bar with a % indicator. While for indeterminate progress there are some alternatives: progress bars with no % and throbbers.
With CSS3 animations you can get pretty creative. There is no need to stick with the traditional way. For one of my applications I have a 10px (height) rainbow bar that spans the browser 100%. It is hidden by default and when views and pages are loading it slides down and animates. That is because our clients like non-obtrusive animations, but they still want the animations.
I would think about who the user is. I know persona's are old news but still very useful when making decisions like this. Hope this helped.
Nowadays hourglass or or whirling gears rotating animations are preferred over text.
They are more engaging, than text as they presents visual stimulus to the users.
Sometimes, they show the progress also, helping the user to know, how long he has to wait.
In few cases, animation with text are preferred.
But the big advantage of using an animation is that it gives an engaging experience and shall show the status.
If you don't put text in addition to the image, don't forget to write “Please wait” in the alt attribute of the image. Writing the alt attribute of images is mandatory on the Web. This is important for accessibility.