Everyone seems to think the quality of a game is directly proportional to the power of the engine it was made with these days. Take the Blender Game Engine for example. It's a very good open-source engine that allows people to make 3D games without writing a single line of code, built in to Blender 3D (an open-source 3D application). You can have a simple puzzle game working in under an hour, and incredibly complex game logic systems can be set up simply by connecting ready-made "logic bricks" together. And yet people new to game making look down on it, as it's supposedly not up to "professional standard". In other words, it doesn't have real-time shadows or particle effects.
In the beginning of time, game developers were severely limited in what they could do. The developers of Tetris for the original Game Boy had to make do with a 160*144 pixel screen and four shades of grey. Not even four colours, four shades of grey. And yet Tetris still managed to be a very addictive game that sold millions. They didn't have real-time fluid simulation, shadows, reflections, refractions or even 3D graphics. But what they did have was gameplay, that silly little extra element that some people add in which in fact is what separates games from films.
There is absolutely no point in adding in all the ultra-spiffy effects seen in commercial games if the actual gameplay is rubbish. If you want photo-realistic graphics you can control, buy a DVD player. The graphics in DVDs are so realistic that they actually are real - this is because your DVD player is utilising a new top-secret technology known as film, in which pictures from the real world are captured, rasterised and displayed on your television screen at a solid 24 fps. Plus you can control the development of the storyline with those nifty skip buttons on the controller. Those of you just discovering what makes games good may laugh and say "THATZ NT A GAME THO?!?", but really that's the direction these "professional" big-budget games are going - better graphics, more intricate storylines, longer cut-scenes and less gameplay.
It's true that there are many games with great graphics and good gameplay, but my point here is that when you're making a game the thing that should be deciding which engine you use should be which one would be best for the style of gameplay your game uses (which should be decided by that point), the programming languages you know and your programming ability. A relevant example is Slipslide. It was previously done in 3D, but that interfered with the basic gameplay mechanics so for the sequel I'm writing my own 2D engine in Python, because that not only gives me more freedom and is better for the gameplay, it also uses a language I'm familiar with. It no longer has the spiffy three dimensional graphics, but I can now focus on making the gameplay actually work properly.
If you want to write a 3D game and you've never programmed before, use Blender. It's not capable of processing massive, 90-hour long first-person shooter games with incredible graphics, or a true-to-life 3D recreation of the Death Star with all the millions of rooms and hallways, but it could quite easily handle an enjoyable adventure game set on an island or a simple racing game. Now, which do you think would be more fun to play; a fast and exciting racing game or a mundane trek around some empty yet realistic space station?