I'm doing something in Unity right now, and let me tell you... I HATE IT.
Having a great collision system (at least in 2D) and particle system, all very easy to setup is great. Until you have to do something a little bit different, then its a fight to get anything working the way you want.
I'm all about writing in pure code. But I can't deny that building your game "visually" has its advantages.