Yes, and like you implied, making anything half decent takes a TON of time, effort and skill.
I started with Crysis 1 modding, which essentially got me started in the whole 'game dev' thing. After working with that (a few maps) as well as dramatically improving my skills in asset creation (total trash to somewhat decent) I managed to get myself a job on a small team doing some environment simulation stuff (in Unity 3D - terrible choice), and that was great for about 2 years (left due to better/current job). During that time, I worked on my own stuff in CryEngine EaaS, which really improved my portfolio and skills (and helped me get to where I am now).
Depending on where your skillset is now (either in programming or asset creation), I'd recommend either Unity 3D (if you're very new) or CryEngine (either freeSDK or the paid EaaS). Unity is great due to its ease of use - scripting is easy, getting assets in is even easier, and overall, getting a working game won't take very long (there's TONS of tutorials). However, you won't get amazing results (at least until Unity 5 is released). The rendering engine is massively outdated, and the engine on a whole relies extremely heavily on pre-baked data (no other engine does this).
CryEngine is definitely harder to use, but getting great looking results isn't an unrealistic dream. It can take a massive beating (5m+ poly, 100s of lights w/ shadows, still 50+ fps on my rig), which is great if you're not targeting low end (Or just making screenshots / art). However, for anyone new to 3D work, the asset importer will be a massive headache (cryptic errors), and in general, it sets the bar exceedingly high for assets (most 'new' users quit due to this).
Programming is also a lot more challenging than in Unity. While CE has a flowgraph system, it's not useful for lower-level stuff (do not make gameplay systems with it). To do anything well, you'll need to dive into the programming manual, deal with VS and C++ (Java, C# are not supported), and if you're working on a proper stand-alone game, even .dll compilation.
However, even with all those requirements, it's still a great engine - I've tried switching (Unity 3D, Unreal), and nothing else really has the raw power that CE has. With enough skill and effort, you can quite literally accomplish anything.