CType() is less strict than the C# casting operator. It will do things like convert a string to an integer that you can't just do with a simple (int) cast. It has as much power as calling Convert.To___() in C#, where the _ is the target type of your cast. This is desirable because it's very powerful, but that power comes at the cost of performance — it's not as fast as DirectCast() or C#'s cast operator because there might be quite a lot of work to do to finish the cast.