Pre-announcement
You shouldn't announce the game before you are confident that you have a firm grasp on the scope, systems, and production design (art, music, etc). Players do not react well to things like cut features, wholesale changes in art design, or anything that results in the game that ships being significantly different than their first impression. And under no circumstances should you announce a release date until you are 100% confident you can reach it.
A good example of what NOT to do is
Mechajammer fka Copper Dreams, where they went so far as to launch a
Kickstarter where (with the benefit of hindsight) we know they actually had no fucking idea what the game was. Unsurprisingly, after years of delays and sweeping changes, the developer burned through all their credibility and goodwill, and the game flopped hard (it was also really, really buggy at launch).
Announcement
Once you think you're ready to announce, you don't need a demo, you just need a good trailer to show that will start getting players hyped about the game. Marketing is all about teasing and building anticipation, NOT trying to prove to players that you have a good product. Even if your game is good, I think a demo will end up hurting your sales.
Have your Steam page, social media, and website (listed in order of importance) ready to go on announcement so that people can immediately start to follow you and wishlist your game. There are plenty of good tips out there on how to properly set up your Steam page for the most success.
Regular updates
You don't want to announce and then just disappear for months. Once you put the game into the public eye, you need to maintain a steady flow of content so that you keep reminding people and expanding your audience. I would aim for a monthly development update, plus occasional snippets of something cool to show. Have several months of this content planned out ahead of time before you announce, and then stay a few updates ahead so that you never miss one or are scrambling to put something together last minute. I would honestly aim to keep this practice going all the way through the post-launch.
Remember the purpose is to build excitement, not to vent your spleen about every little detail, so focus on things players will be excited about and make them want to play the game. Another thing that should not be a main point of focus, but something you sprinkle in here and there, is your own personal story. As a solo indie developer you are the ultimate underdog, and some people will respond to that and want to support you more as a result. Don't lose sight of the fact that the goal is to sell your game, not yourself, but if you can get people invested in you along with your game then that will pay off.
Kickstarter
Eventually, you want the game to be feature complete and have the first part of the content implemented (like the first major town, quests, etc). Now you are ready to go to Kickstarter. Even if you don't need money to finish the game, Kickstarter is still a good idea for a number of reasons. The people who pledge to your Kickstarter are your first true stakeholders in the game, the seed that will hopefully grow into a large audience.
You can find a lot of info out there on how to run a successful Kickstarter so I won't go into that here, but you should plan carefully and dedicate 100% of your time to the Kickstarter while it is live.
Backer beta
Not long after the Kickstarter is done, launch a backer beta. This is the first time people are getting hands on the game, so the feedback will be coming fast and furious. You want to spend this time purely on bugfixing and community engagement. Dedicate a couple of weeks to this, then close the beta and incorporate all of the lessons learned. If for some reason there is some kind of major flaw in your game's design that you previously hadn't identified, now is the time to fix it.
You can do multiple backer betas if you need to, but the goal is to get the game's systems and early content to as close to a finished state as possible. By now you should also have a good estimate of how long it will take you to finish the game, so you know an approximate release date. But first you want to take advantage of Early Access.
Early Access
Set the EA release far enough in advance that you can get involved with media, streamers, etc and make a strong marketing push before it hits. This is your game's debut and first exposure in the wild, so you want it to make as much of an impact as possible.
Hopefully by now your game has a lot of steam (pardon the pun) behind it and the EA release hits. Ideally this is the point where you can afford to quit your day job and work on the game full-time. Make it clear on the Steam page where the game is in terms of content completion and how long it will reasonably take to finish.
You will need to spend more time fixing bugs and incorporating feedback, but hopefully a lot less than before since you already got at least one pass at this with the backer beta. People are more tolerant of issues in an Early Access release, but keep in mind from this point forward your game is being judged in the open marketplace. Everything you release from here should be as polished and production-ready as possible.
Finish the game
Now the goal is simple: finish the game. After each major content update, earmark time for bugfixing and increased community engagement. Try to make it so each update doesn't break people's saves if at all possible.
Once you can see the finish line for having all of the content implemented and polished, set a final release date. Make another marketing push like you did for the EA launch. Go as big and as wide as you can, because this is the climax of the entire development cycle and the best chance you will get to squeeze as much juice out of this peach as you can.
Release
Now you release! Do everything you can to promote the game and reach as many people as possible. Hopefully it goes well and now you're rich!
Post-release
Keep fixing bugs and releasing patches for as long as it makes sense to. Release on consoles, or make a deal with a publisher to port it for you. Start pre-production for the sequel.