I'm underwhelmed, and not surprised. Typically for the big, slow defense industry players, they're planning a more complicated system that does less and will not be ready until 2019.
Meanwhile, SpaceX will be attempting to land their entire first stage again this afternoon.
I think it is more nuanced than simply ULA's system is more complicated. I do however thing that the ULA system is a primarily-mechanical solution while SpaceX is using a primarily-computer based solution.
Background - I have a BS in mechanical engineering, work professionally as a software engineer now, and spent a few years in the defense industry working on nuclear submarines.
Both approaches have key mechanical and computer/control challenges. However ULA's primarily relies on increased mechanical complexity with relatively simple computers. They are adding separation between the tanks and the engines in the first stage. This is relatively proven tech - we separate stages all the time - but it will complicate the piping and structural design of the first stage considerably. There are also mechanical components related to the hyper cone and the parachutes. The whole thing then follows a relatively simple trajectory and then relies on the skill of human pilots to capture the falling engines. We have done this, but again they're using mechanical systems & proven techniques to recover the engines.
Meanwhile, the Falcon 9 doesn't use a whole lot of extra mechanical components to be reusuable. Arguably the only extra bits are the legs and the grid fins. The grid fins are very simple. The legs are a bit more complicated, but probably less than what it takes to separate the entire engine assembly. SpaceX puts all the complexity in the control software. The engines are re-firing multiple times, and during the last few minutes of landing the computer is doing some serious work to balance everything out. At the end of the day, there is no human interaction on the landing.
You often see this trade off between mechanical complexity and software complexity in systems that bridge the domains. I'd personally bet on the company using the primarily software driven approach nearly every time. Software is hard, but mechanical systems are even harder. The economics of software are also way better. Manufacturing costs are pretty much linear to number of rockets, there isn't that much scale in the current market to reduce unit costs. Software costs are relatively fixed compared to number of launches, plus lead times are dramatically different.
You perfectly expressed what I feel (and tried to say in my comment below).
To emphasize on "always bet on software": As seen on the landing video of the (marginally failed) attempt today/yesterday, they are having issues with the dampening of their control software during precision landing. While the field of control software is hugely complex, once the parameters are known, it is trivial to set these values and (later) tweak them. You cannot do that with a (largely) mechanical system. Furthermore, it's easier to run simulations with different sets of control parameters than redo all the FEM-et-al. stuff needed for a modified mechanical design.
If ULA wanted to take a slighly different approach than what they proposed here (e.g. when the first tests don't work as expected), they'd basically need to redesign the whole propulsion "stage". SpaceX can alter just their software.
[As always, it's not black-or-white. ULA may also fix (most of) their issues with software updates. SpaceX may need to add more fins or legs, re-distribute weight, or require more fuel for the landing. That does not invalidate the point above, though.]
Correction: It seems that the tilt maneuver at the end is intentional[1] to not hit the barge full force if something goes wrong. Instead, the control system did not account for (all of the) lag in the propulsion system (time between command and applying force).
Meanwhile, SpaceX will be attempting to land their entire first stage again this afternoon.