Determining wether it makes sense for you to charge a deposit or bill when you are completed with an engagement encompasses a variety of business factors. Do you need to purchase materials to start the project? Can you afford to float the costs of the engagement until you are able to bill? Answers to these questions cover some of the more obvious factors that you need to consider when evaluating wether you require a deposit from your clients.
Beyond the practical implications of making sure you have adequate resources to perform the work, you should also consider what psychological factors might come to play in requiring a deposit. There can be an increased perception of value by requiring a deposit from your clients. When you have a premium product/service and your clients have to invest in it right away, they more quickly see the value in their purchase.
One key advantage that is commonly overlooked when considering if you should charge a deposit is the increased engagement with the client. It gives them an immediate vested interest in you and your work. It forces them to take the you and your work seriously from the beginning and be more engaged in the process. They have more skin in the game immediately which makes it that much harder for them to justify changing their mind or canceling the engagement along the way. They are committed.
There is no right answer for all businesses or industries. You really just have to determine what makes the most sense for you.