I will start by saying that I'm not an experienced game developper, I've learned little bits and pieces when I find the time. In either case, you could take a look at these (you'll never get a definitive answer on which is best, its all subjective):
Unity: I have heard some good thing about Unity, although I haven't had the chance to try it out extensively yet. It does support C# scripting, but not VB.NET). It's free, except when you won't to go with the Pro version which is around $1500 I think.
UDK: The UDK is powered by the Unreal Engine 3. It lacks some features of the full UE3, like native code (you can use UnrealScript). It's free at first, but when you go to sell your game, you pay a license fee (around $100) plus a percentage of sales after $50,000.
CryENGINE 3: It is comparable, in terms of cost, to the UDK with some slight differences. I have heard some complaints about it, but could be worth a try.
I think the best advice I could give, is try out some different engines, see what other people have done, and pick the one you like the best. Unless you're planning on making a very high-end game, then it shouldn't matter too much which one you pick.
While I myself have done very little game development, I have a close friend who only programs games. He (read: we) has tried a number of different game engines (2D and 3D) and for the last 1.5 years has decided and loved Unity 3D.
I have used Unity myself and can see that it is quite simple for the subject at hand, and yet has several powerful features. It may take a little time to get used to (as any engine would) but I'd say give it a fair shot. I'd even say that it would take less time to learn than about any other game engine would.
Depends really on whichever language you are most confident with. If you like python Panda3D is an excellent freeware engine, but those more adept with C++ / C may prefer a more traditional engine like Unreal (if you can afford the licensing), and now popular web languages like Java and such can actually be used to render games in 3D with various engines. The question is not which engine is the best, but whih engine is the best for you.