What actually moves
Files and database, obviously. Then the parts that get forgotten: cron jobs, the queue and scheduler, environment config, SSL certificates, and the mail DNS records (MX, SPF, DKIM) that nobody notices are missing until invoices stop arriving. Shared hosting, cPanel, VPS or cloud, in either direction.
How the switch happens
A full copy on the new server first, tested on a temporary hostname. DNS TTL lowered a day ahead. A short freeze for the final database sync, then the cut-over. The old server stays untouched until you have signed off the new one, so rolling back is a DNS change rather than a restore.
When the domain changes too
Every old URL is redirected one-to-one with a 301, not dumped on the home page. Search Console gets a change of address and a fresh sitemap. A traffic drop after a migration is almost always a set of redirects somebody skipped.