Distributed Denial of Service attacks work because they use multiple (sometimes thousands) of hosts sending traffic to your site to overwhelm your resources. This is not something you, as the target, can remedy. Cloud services, like the ones you mentioned, modify and limit the traffic to your site, and to do that, they need access along the path between your visitors and you.
Yes, there are ways to deal with DDoS on your own, but you can't stop or redirect the traffic. You can spin up a new site, on a new IP and URL, on a different hosting service, but your valid visitors won't be able to find you. It is also easy for the attackers to redirect their attack to the new site. You could change ports, shut down the service, or play with DNS tricks, but these are temporary solutions and have limited effectiveness.
"Is it necessary"? That's going to be up to you and the risks you have determined for your own site. If you can deal with a site that is overwhelmed for a while, then you do not need to pay for a service and wait out the attack. That decision is entirely in your hands.