My current decision to use XNA is that as a C# developer by trade I am very proficient with the language and I didn't want to get into the low level details of D3D or OpenGL programming. I'm also not interested in C++. I've done some 2D with XNA in the past and it was fairly easy to wrap my head around so its the more comfortable choice for me.
Unity looks like a great tool but the $1,500 price tag is a bit steep for a hobby considering I am, like many game devs, a one man shop and will likely not ever see a dime for my endeavors.
I don't know of a lateral move from XNA at this point though considered Unity as I saw a lot of cool things it could do. However the price tag will probably keep me away from it for right now and I'll stick with XNA which is free and will enable me to do some 3D programming by having to create the guts myself which is probably going to be more beneficial to me as a developer anyway and maybe in the future I can look at a tool like Unity.
Also I'm working primarily in DX9 and shader 2.0 so haven't needed to move beyond XNA (my primary dev box is currently running XP).
I appreciate the input though that Unity is a bit more than just a design tool and will consider that in the future.