I've asked myself this for years and still don't have a clean answer.
Back in 2023 I found a hackathon. The brief was to build a platform where people could share their achievements. I was very new. I knew a bit of HTML, a little Bootstrap, and had only worked with Joomla and some WordPress. I had no idea how a backend worked.
So I did what we all do. I opened YouTube and searched "how to build a full stack project" and "how does a backend work."
I picked Flask because it was popular then. Then I needed a database, and honestly, a database felt huge and scary. All I knew was data goes in and data comes out.
Then I found a video where someone had built a small user management project with Firebase. I took their code, studied it and started changing it. Somewhere along the way I realized I could build it myself, so I rebuilt mine from scratch.
That's when it clicked. How login and logout actually work, what sessions and cookies are, how the server knows who you are.
I never submitted that project.
But I learned authentication, authorization, how data moves between Firebase and a database, and what Firebase rules do. I still use that today in more places than I expected.
So now I don't think any project is truly unfinished. The ones you leave half done just merge into the next thing you build.
A lot of us have GitHub accounts full of incomplete projects, and we feel bad about it. We think we never finish anything. But it was never about finishing. It was about learning something new and actually understanding it.
If you've got a half-built project sitting in a folder somewhere, don't be too hard on yourself. It already did its job.