My definition of a project is almost purely mechanical, based on the theory that a project (1) will require more than one action to reach completion and (2) should have a single Next Action at any given time.
If something requires one and only one action, it goes in a single action list somewhere.
If it will require several actions but it feels "right" for those actions to be worked sequentially, rather than simultaneously, then it's a project.
If it will require several different sequential streams of actions, and I want more than one of those streams to be progressing at the same time, then it's multiple projects. Those multiple projects may all point toward a single goal, though I may or may not record that relationship.
So it's both about the structure of the goal/project, and how I want to work it. If my goal is, say, "Become a more expert seamstress", but that's a low-key goal right now and I don't have much time for it, then I might just create one project with one Next Action, and that project might bumble along for months and years as I work individual actions. On the other hand, if that's a really important goal to me, then it could spawn any number of projects that I eagerly work in parallel:
Project: Complete a course in fitting trousers.
Project: Complete a garment in silk georgette.
Project: Master Hong Kong finish.
etc., etc., etc.
Some of those projects might be sub-goals for bigger projects--for example, all three of the above could be prep for creating a glorious pair of tweed trousers with Hong Kong-finished seams and a partial lining made of silk georgette. Or they could just be separate skills with no immediate relationship.