My system (in OmniFocus) has projects, Single Action lists, Thoughts, Lists, and Project Seeds lists. I'm not saying that these things are GTD-appropriate, I'm just saying that they're what I do.
Single Actions are an actionable goal that I want to do soon (that is, it's not Someday/Maybe) that can be achieved with only one action. For example, Wardrobe Single Actions might contain "sew that button back on my raincoat".
There are circumstances where that action could be a project. If I'd lost the button, for example:
Project: Raincoat button fixed
Measure raincoat buttons
Find 3/4" black button for raincoat
Sew on raincoat button
If I didn't know how to sew on a button, the project could instead develop as:
Project: Raincoat button fixed
Ask Jane what I need to sew on a button
Buy hand-sewing needles and beige thread.
Make appointment with Jane to teach me to sew on a button.
Even if the action is a single action, it could be a part of a project:
Project: Broken clothes mended
Fix drooping hem on black linen skirt
Sew on raincoat button
Sew hook closure on red skirt
But if I'm not interested in a whole clothing repair project, and I just want the button fixed, then this is a single action.
My Project Seeds lists, on the other hand, contain "actions" that I know perfectly well are projects and not actions, but since I'm not ready to start working them, I don't bother to expand them. Actually, I make a point of NOT expanding them, because they'll just clutter up my lists. So my Project Seeds lists might contain "Fix all my broken clothes," a Someday/Maybe that eventually develops into the third project above. Items in this list are essentially Someday/Maybe, though I feel that there's some nuance of difference that I can't put my finger on.
My Thoughts lists are just a place to dump thoughts that aren't even sufficiently formed to be a project seed. For example, if I remember the name of that sewing book by that author that I really want to read again, I'll dump that into "Sewing Thoughts" just so I know where I put it. I'm not sure whether, in GTD terms, this is an Inbox that I haven't sorted yet, or if it's project support material that I choose to keep inside my GTD system.
I also maintain plain old Lists, which I just consider to be part of my filing system, even when they happen to reside in OmniFocus. Books to Read, Perfumes to Sniff, Seeds to Consider, and so on. The lists may feed actions ("order something from Books to Read from the library") but they don't consist of actions.
I would say that if something is actionable, and you want to be acting on it, and it has more than one step, it "should" be a project. I say "should" because the importance of defining it correctly depends in part on how much you're hampered by its not being a project. For me, the problem of projects-presented-as-actions is that I look at my lists to find an action to work and I find myself saying, "I should...no, first I have to..." several times, breaking my flow.
And if I haven't defined the "first I have to..." action, odds are that I'll miss that action when I'm in the right context. For example, the first raincoat button task requires me to measure the button while I'm at home and then buy the button when I'm at the right store. If I rarely get to the right store, then I really want to be prepared when I do get there. If I pass it every day on my way to lunch, it's less of a big deal. So while you "should" distinguish actions and projects, the strictness may depend not only on your preference, but the particular project.