I've been using Beckhoff hardware and the TwinCAT software for over 6 years now.
Hardware has proven to be very robust and reliable. It has stood the test of time.
Software probably has the most flexibilty than any other control software that I have used. Of course, quantity of features comes with a cost of complexity. I can write programs as quick and easy with it as I can any other. I find that I can accomplish some things with TwinCAT that could not have been done with other options that I was given.
I have even given training classes in TwinCAT and had maintenance men writing programs with a 3 day course.
I think very highly of TwinCAT, but for people that are strictly ladder logic programmers, they will most likely be disappointed.
One last thing.... the software is based on 3S software as is many other manufacturers' programming software such as Wago. So if you learn one, then you already know how to program many manufacturer's PLCs. I've even interchanged libraries from multiple manufacturers.