I would like to ask a colleague for some advice on a project, but I am unsure as to whether an email would suffice or if I should schedule a meeting. What things should I consider when making this decision?
Send the email and see what he says first. If the reply is suitably complex you can then ask for a meeting.
Basically you want to initially cause the least disruption possible to other people to get your work done. Emails are low-disruption as they can type them up at their desk. Meetings are high-disruption as you are physically pulling them away from their tasks. Between these two are instant messaging and wandering over to another's desk for a quick chat.
When it is urgent, call them. An email can be ignored for days and then forgotten. A telephone call takes conscious effort to ignore.
When it is super urgent, go to their desk. They can't ignore you without violating social norms.
When you are in a situation where you might need a paper trail to not lose a blame-game, write an email.
When none of these special cases apply: The advantage of an in-person meeting over written correspondence is that the latter allows a far more efficient back-and-forth dialog of questions and answers. When in doubt, rather talk to people than write to them. Written communication is much less expressive than it seems. We don't realize how much we communicate with intonation, and that this information is completely lost in written correspondence.
But how do you know that such a dialog is required to solve your problem?
Ask the receiver.
Explain your problem as good as you can in text form. Ask them if your description is clear enough so that they can write an answer. End your email with an offer to call you or schedule a meeting when they need further clarification.