UDK can be used for FPS or any other first person games. It can also be used for top-view strategy games, 3D platformers, or anything you want. People that say it can only be used for FPS are badly misinformed.
Take a look at the UDK showcase, I'm pretty sure there'll be plenty of examples of "not-FPS" games there.
Well, I guess people saying this either have not tried UDK and jump to conclusions because of the name of the engine and the series of game that spawned it, or they tried to build something the easy way: download a tutorial / demo project and swap out the graphical objects. And of course, a lot of the demos out there are still FPSes, as it was THE mainstream genre for years now.
To the TO:
I have only expierience with Unity, but I guess Unity and UDK / UE4 are not worlds apart in structure (even though there might be important technical differences, I don't think they will dictate what you can or can't build with an engine).
The important thing to note is: these engines are 3D Engines in their cores. They can be used for 2D Projects (Unity started to put in basic 2D Support into the engine), as a 2D Project can be constructed just fine in 3D Space, with a camera that gets fixed to two dimensions (this way you can also build hybrids like Fez, which used the 3D Engine quite cleverly).
But in their core they stay 3D Engines, with all the horsepower still under the hood (thus probably idling and using system resources for nothing while showing basic 2D Content).
But I am not sure you asked for a 2D Game Engine. Did you?
Anyway...
Your question about Unity:
Unity can be absolutely free. IF you don't make more than (guessing here, don't know exactly) 10'000 per year with your games, and you do not need the following:
- deferred rendering (useful if you need lots of lights in the scene (BUT: It still has limits, lights are still not "free"!))
- Image Effects (like Screenspace Ambien Occlusion (helps with making the shading more believable), Global Fog (Fog that can be applied to a certain height for example), anything that changes the way the camera renders the image)
- Soft Realtime Shadows (hard edged shadows are now also included in the free version)
- some pro stuff like the profiler (lets you see which of your GameObjects eats up all your resources)
So yes, Unity Pro costs a lot. The question is, do you really need all the stuff above? Chances are, if you want to create "AAA Quality!" or anything that comes close, you might need it. And you will have to hack around to get similar effects in Unity non-Pro.
If you talk about UDK I advise you to look into the Unreal Engine 4. You can get it with a single monthly subscription of 20$ and then cancel the subscription, still keep using the engine and create stuff with it. UE4 is the most nextgen Engine you can get for a low price today.
Just be aware, with UE4 AND UDK you have to pay royalities if you make over a certain amount of profit with your project (I think 50k$?). In the UDK days it was 25%, for UE4 its now 5%.
Might not affect you, still important to note Unity has NO royalities, which is why a lot of Indie studios pick Unity over the Unreal products. If you cannot afford the full engine license (multiple 100k$), Unity is the best choice without royalities. That is why they can keep charging 1500$ for their Pro version.