Coincidentally today I finally got around to getting an STM32 project started.
My experiences were not a million miles away from Dave's, there's no single clear step by step guide I could find that takes you through the various required bits of software, but by hook or by crook after a couple of hours I got a blinky working on one of the four Discovery boards I seem to have stockpiled with good intentions.
I went with the TrueStudio solution because it seemed to me that now ST owns Atollic, and there doesn't appear to be any software crippling anymore, this was a reasonable way to go. I think it still is, but I had a few problems with the debugger not working, then Eclipse playing up with the on board debugger (this is a common problem, I have had similar issues with LPCXpresso), and most recently breakpoints visible in Eclipse not being set.
The only out of the box demo I tried wouldn't compile because it couldn't find GCC, that turned out to be a couple of incompatible Tool Chain Discovery settings, one in the GUI and one for the project itself.
But I did get a blinky going from scratch on the board with STM32Cube, which thankfully seems to be a more lightweight framework than Microchip's Harmony.
The biggest problem remains knowing what all the required software components are for your board, and finding them as they are not all on the dev board's product page, you end up going around in circles too. I believe part of the problem is that unlike, for example, Microchip, ST have long supported many development platforms, so the tool chain matrix is large. It reminds me of the gazillions of Linux distros, and why Linux has yet to become ubiquitous on the desktop.
Even with ST's ownership with Atollic, not all Discovery boards have example out of the box code examples for TrueStudio to run out of the box. It's early days though, perhaps now they control the tool chain ST will pay more attention to providing a clean out of the box solution.