In short, yes, you have to compile the tezos code from scratch. There is a docker option if you are familiar with that. If you are not, it's probably even more complicated to get working. There used to be a Windows-GUI option, but that is no longer maintained and ceased working properly almost a year ago. Unfortunately there is no easy button and it will require some basic linux skills to get right. You will also need to forward port 9732 from your home router to whichever computer is running the tezos-node so that other nodes can talk to you.
If you follow all the instructions, it's not that complicated. It's mostly copy/paste/enter. You will eventually have several "programs" (also known as "binaries" in the linux world):
tezos-node (the actual node that communicates with others),
tezos-baker-006-PsCARTHA (the actual baking program), and
tezos-endorser-006-PsCARTHA (the program which injects endorsements).
You will need to have all 3 of these binaries running at all times. I recommend finding a tutorial on the linux tool
screen so that each binary continues to run in the background in case you accidentally close one of the terminal windows.
tezos-node will stay in communication with the entire network, receiving blocks from other nodes. When it is your turn to bake or endorse, those binaries will automatically create and inject their payloads into the network using your node.
The computer running tezos should have an SSD with around 30GB free space, and at least 2GB of RAM. Always-on internet and power are also crucial.
Lastly, no, this will not be good for years to come. You will need to update the code periodically as bug fixes and features are added. Best place to find these updates are on reddit.com/r/tezos
If all of this sounds too much, instead of self-baking, you can delegate your tokens, known as 'tez' (not tezzie), to a baking group. That group will bake your stake on your behalf and send you the rewards every few days. You can find a list of bakers at https://baking-bad.org/ Keep in mind that delegation is NOT transfer, and that you retain 100% control of all tokens, even when delegating.