You don't have to, no. A home PC would typically be capable of running a small server, like, 5-10 players, and that would be completely free (minus setup time, I honestly have no idea how to set up a server like this, though). You can check if your computer is able to host a server here.
There are paid hosters though, like the one this server uses (CubedHost) which give several advantages. First, it's hosted on an entirely different network than your home PC, so you an host tens or even hundreds of players even if your machine can't handle that (or if there's upload/download caps in your area that prevent the server from sending large amounts of data). It's apparently easier to set up, but I've never tried personally, and can be set to run 24/7 without keeping your computer on constantly.
Overall, it depends on your computer's specs and how badly you want to play with a lot of people. There's typically loads of different packages available for different prices depending on your needs, obviously a server for hundreds of players is going to cost a lot more than a smaller one like ours, I think Raz pays about $6 a month for it. But yeah, it really all depends on what you want for your server.







