Your choice controls will partly depend on the kind of user you are creating the application for.
If you are creating an application for casual users, you want to use controls which are easy to understand and which stop the them making wrong choices. Radio buttons and lists are good examples.
If you are creating an application that will be used repeatedly, choose the controls on the basis of how quick they are to manipulate. For example in many cases it may be faster to enter a value in field than choose it from a list.
In these applications use sound, animation and video very carefully because frequent users will grow tired of them.