I've done significant work with PSoCs. A major microscopy OEM (manufactures FIBs and SEMs for the big names in those industries) have a number of them in their systems due to my input into the design. We use a beefy FPGA to do all the heavy data lifting but the individual boards and the motherboard all use PSoCs to communicate, configure and synchronize things.
My take on them: They're neat, they have some decent analog (the 5LP does anyway) but ultimately they need to at least quadruple the number of UDBs on their devices to be at all truly useful as programmable logic. You can play some neat parlour tricks with them (we primarily used the UDBs for some additional serial interfaces/MUXes and some logic) but to do anything truly useful you run out of UDBs awfully fast. Their documentation tends to be on the lacking side as well, and their support network generally consists of a bunch of guys whose first language isn't English, with a typical response time of 20-40h and a whole lot of quick replies that show they did not read or understand the question in the first place. Don't even talk about the forums; they're terrible. The editor is terrible and it's the usual dreadful SNR.
I hate their IDE and the fact that even if you want to write Verilog for the UDBs you still end up using that disgusting IDE. I dislike that I can only use Verilog and not VHDL, I dislike that the PAR and synthesis utilities are a little lacking in configuration/visibility into issues (particularly timing), and their auto-generated software is pretty much bottom of the barrel in terms of quality. If they could at least give us a solid command line set of UDB, DMA and general configuration utilities we could really make things sing, but it seems they just double down on the idiotic IDE. There's no reason the toolchain has to be windows-only, just drop that IDE.
Now in their defence, I will say that the UDBs are one of the most woefully misunderstood components I've ever come across. Yes, they're crippled with an 8-bit datapath and yes, there are way too few of them to really do some work with them, but every one supports DMA and has a "micro ALU" that can be programmed independently of anything else. If you are willing to put the legwork in (and it's NOT well documented) you can really get those UDBs cranking out some interesting logic. Too bad Cypress' own tools don't help a lot here. If they were to bring the datapath up to 32 bits and extend the PSoC5LP family with UDB counts getting up to 128 or so... now THAT would be interesting.
And while I'm dreaming... instead of the GAL-style "sum of products" blocks... replace them with primitive CLB or ALM blocks... that would be a serious contender in the low-end SoC market, a place that I feel has been ignored for far too long by all the vendors...
My current love is STM32; I've worked on practically every single embedded platform out there over the last 25 years or so but STMicro seems to have put a LOT of legwork into a solid MCU series. Strong peripherals, a heavy dose of "let's try to make moving between Cortex families as seamless as possible" and pretty decent support. They certainly don't point you off to a craptastic "community support forum" like Microchip, Freescale/NXP, Cypress and a number of others all do. Also... ALL of their dev boards have not only schematics and gerbers, but also the Altium design files available for free, and they also crank out a fair amount of high-end algorithm libraries that target their products and give them away for free, provided you use them for their parts. Too bad STMicro doesn't have any kind of programmable logic component.