I've been using Unity for a while. I never got that much into XNA, so maybe I'm biased, but...
Based on my experience, I'd recommend you go with Unity. It's a very polished and powerful engine, and it'll get you up and running quickly. The community is bustling and helpful, so you shouldn't have too much trouble figuring out how to do what you need, if you ever find you don't know how to program something (chances are, someone else has already asked how to do it and gotten help).
Just get Unity and give it a shot.
Bookmark this page (the search bar lets you read about all of the Unity classes) and read through this short little tutorial, which will teach you how to get your scripts running in-game (it's simple and organized) and other basic fundamentals.
I use Microsoft Visual C# 2010 Express to edit my scripts. It's free and very useful: you may not want it right away (I thought it was confusing at first), but the shortcuts and member info features come in handy later. I'd recommend it over the script editor that comes with Unity.
Lastly, if you ever find you have problems that you can't solve yourself, you might get more help on the Unity Answers site than you will here on GameDev. Specifically, questions that relate to the engine itself in any way are probably best on the Unity Answers site, but general programming questions are probably best on GameDev.