UE4 comes with complete source code access. You can make pretty much anything if you know how or are willing to take the time to learn.
Blueprint visual scripting is amazing for prototyping, and especially for anyone who doesn't already know C++ which it is based on. Artists can pick blueprint up and prototype things that would normally require knowledgeable programmers. Blueprint is also extremely powerful, allowing you to create the vast majority of functions without having to delve into code.
There are a lot of other good reasons, but those are the most important. You can make good games in both engines, but UE4 has the upper hand right now.
I had tried both Unity and UDK back in the day. As a noob with no real coding ability I found both engines large and unfathomable. With blueprint I was pretty much able to hit the ground running. Visual scripting is just amazing.