As I see, it comes up regularly and it is not easy to answer, because it depends on the circumstances.
Free/OSS or commercial renderer? For production environment or for hobby? Easy/quick setup for custom shaders or using a ‘standard’ material library (like in case of archviz scenes)? Stills, animations or both? Do you want to learn renderers what are available on other platforms like Max?
You see what I mean.
Although I use Blender for more than a year and I tested several external renderers, my recommendation at least partially will be based on my 3ds Max background and experiences.
So here are my answers:
As a hobby you can use anything.
There are 2 things what comes up regularly on forums.
1. Blender Internal is fast and offers great quality.
Well, it is not true, except of specific usage. I use it for texture baking and as a ‘draft’ renderer when I model in Blender and it is usable for that.
But if you turn on reflections, it becomes slow like hell; the default (and also very outdated) 3ds Max scanline renderer is faster (even without reflections) 10-20 times than BI.
2. Cycles is fast.
Well, Cycles is a great rendering engine and it support really fast material editing as a the built-in renderer for Blender.
But on notebooks (I mean running it on Mobile GPU or on CPU) it is slow and I lack the ‘biased’ features from it (literally you have to spend the price of Vray for Blender for a decent GPU to use it effectively and you still will be bounded to the memory limits of your GPU.
If you need something serious and production proven stuff for archviz, try VRay. It costs money, but it is the industrial standard in archviz.
If you risk an alpha-stage renderer, I highly recommend Corona.
It is still free and offers great quality with incredible speed.
If you can, please support Joel’s dedicated work for Corona exporter for Blender (downloads are here).