Training Peaks complements Strava quite well, though I'm not sure it's worth paying for both (I do, because I can and I'm a nerd, but I also pay for Trainer Roads, Zwift and have only just given up on BKool!!). I don't get on with Connect and find it unreliably accessible, particularly if you have a less than stellar broadband facility, but when it's working it does provide reasonable analysis tools, though I wouldn't claim they're better than Strava Premium - you do need to get 'under the hood' a bit with Strava to discover the full range of analysis available.
It's more the accuracy of Strava that is the problem, it's slated on various different forums by good (e.g. Cat 1/2) cyclists. It's interpretation of power data (and specifically how it calculates the weighted averages) is seemingly random which is why many people prefer TrainingPeaks. The weighted average is key to calculating TSS and thence form/fitness (CTL/ATL). It's also hard to get out the key metrics such as 5s/1m/5m/20m peak power from a single ride, and impossible to plot these over time (which is where something like TP or even Golden Cheetah comes in).
Put simply: if you want a tool to help you make measurable improvements then Strava isn't the one. I guess most people don't realise what they are seeing isn't quite accurate, or they're happy with just seeing a bunch of numbers without the bits that are needed to help them improve.
The 'fitness and freshness' graph (Strava's take on TSS/CTL/ATL/etc) is rendered completely useless if you combine cycling with running as it doesn't take into account the running at all. It can't be used for planning either (unlike TP). I've got a far better CTL/ATL model in a simple google spreadsheet. Given Strava's graph is based on dodgy calculations of cycling training impact it's of dubious use to begin with, even if you're just using it for cycling. Other than this graph there's no other inter-activity graphing available. Want to plot average speed over time? Nope. Want to plot HRavg over time? Nope.
Strava's also dreadful at interpreting non-moving time when running (I've had a bug open with them for over a year that they've done nothing on and is just building up a huge list of other frustrated members who are not also renewing). Strava doesn't handle any of the modern metrics that are coming from the latest running devices, not that every single one of them is useful to the average runner but they should at least be able to display them. The pace graph for a run on Strava is horrible to read (due to the auto scaling) to the point that it's unusable. It's graphs, in general, aren't fine grained enough at all.
I'd do some side-by-side shots of individual activities but I didn't renew my Strava Premium membership.
The key is that if the tool is to be useful then either interpret the data correctly (which Garmin Connect seems to do fine) or allow a way to edit the data (which TP and Golden Cheetah do). Strava does neither and so you end up with the worst of both worlds.
Don't get me started on Strava's interpretation of swimming data, it's beyond laughable:-
Strava:
https://www.strava.com/activities/465613915GC:
https://connect.garmin.com/modern/activity/1007469059Anyway, this is beyond a digression now.