The varname argument can be any variable. As a result, the names can be used anywhere in your code in place of the actual values. What I mean by this is simply the fact that you can reuse a variant for several purposes. This may not lend itself very well to more readable code, but it can help reduce the memory foot print of your application. Most of the time you'll want to use more structured code, but there may be times where this seems somewhat appropriate.
Variants have their benifits and drawbacks.
The drawback is that when you dimmension a variant to hold, for example, a control - VB has no indication of what type of data it is going to be so you do not get data tips and such while coding. One way to help with this is to use a good method of coding conventions. Be sure to read the VBCE Coding Conventions article. In all actuality, variants can help make your VBCE application more optimized than you may think.