1.) Templates
There is a stark contrast when it comes to templates in Craft CMS and Squarespace, with the former having NO templates to buy. That's right, it may come as a shock to many in the Squarespace community, in which templates are a big part of the ecosphere.
Craft is a custom solution, a full-blown Content Management System (CMS), in which sites are tailor-made. That said, it doesn't mean you will be paying a Craft agency to start from scratch, costing a lot of time and, therefore, money, as they will likely use a framework in which they have built previous sites. Craft, though, has no paid templates.
Squarespace has a thriving template community, with hundreds of freelancers and small agencies building many templates. It's a big part of Squarespace, and many people make good income from Squarespace templates.
2.) Control of code
We as Squarespace designers in the UK have little control of the code. Sure, there are CSS and Javascript injection, but you don't get to edit the HTML of the site. In Craft, you have access to every line of code within the whole system. One very different beast.
3.) Local development
In an ideal world, we would all test websites in some kind of similar environment before putting those changes onto a live site. Things can go wrong, and that just seems like good practice. Unfortunately, in Squarespace, there is no local testing development. You are editing the live site, and any errors will have to be fixed immediately. This may make it quick to edit, but from a developer perspective, this isn't ideal.
Very few Craft CMS developers would work professionally with no local development set-up. Something like Docker and DDEV is just not available for Squarespace. In version 7.0, there were options, but with Squarespace 7.1, there is no alternative whatsoever.
4.) The Squarespace editor
The Squarespace editor is an excellent part of a modern site builder, which Squarespace is. Out of the box, it can do a lot and has many options to add content. Video, Galleries, and resizing images all in a drag-and-drop environment is a breeze.
Craft can do similar things but doesn't have the control that Squarespace has with the Fluid Engine editor.
5.) JavaScript
If you are moving HTML from one-page area to another, then there is no other way in Squarespace than to use Javascript. It feels a little hacky, and in an ideal world, we should be using Javascript to do this, but that's just how Squarespace works when it comes to manipulating HTML.
In Craft, you have a Carte Blanche approach in which you can very easily move all HTML to how you see fit.
I'd argue that if you are dealing with a content-based site, we wouldn't use JavaScript at all, but that's how web development is in 2023. In fact, JavaScript powers much more than just manipulating HTML when it comes to app-like websites, but that's a discussion for another day.
Whilst it feels a little raw with Squarespace, that's just how these sites work, and you have to make do with what you have got.
Overall
Squarespace and Craft CMS are very different tools. Squarespace is more of a site builder than full-blown CMS. For small sites and sites that the client has experience with, the brilliant editor choosing Squarespace makes perfect sense. Craft CMS is the best choice for any site that you want to optimise fully in terms of content.