I use Outlook on my Windows PC and transfer all personal contacts, calendar entries, tasks, and notes locally. I would love to move to Thunderbird primarily because "Microsoft bad" but then I'd lose my local transfer functionality (not to mention Xobni - which still crashes every-so-often - but the functionality is worth it).
You can run your caldav/carddav service in your local network, if you are so inclined. You will get local sync, and the client authors do not have to build specific desktop-based tools.
I for one do not want to return 15 years back, to serial/irda/bluetooth sync, having to think about sync, and eventually forgetting. Running a local service is much preferable, with devices syncing themselves as they see fit.
If you have a link for running a small footprint of a caldav/carddav service on my Windows laptop, I'm all ears. I played around using WSL and setting up a NextCloud instance but why do I want to use 2GB+ just to sync?
At the end of the day, I want all my personal events, contacts, todos, and notes on my laptop and able to sync directly with my phone. I'm happy enough with my current bluetooth sync and wouldn't trade it for UI changes.
You might be interested in https://radicale.org/v3.html.
Runs on my odroid board with 26mb memory. The documentation is particularly good. I've used it as a replacement for the Synology CalDav and CardDav services.
It's very easy to install and does not require a DB. As a bonus, it stores everything as files which can be read and edited manually. It does require python.
I had played with it for 2 days before I gave up. I don't remember what specifically wasn't working properly but it didn't. Even if I had gotten it to work, syncing between a Windows PC and Android device should not require that level of effort.
Personally, I'm using a small Synology NAS and the Contact and Calendar servers that Synology provides. It solves the problem for being a host for multiple devices, with my laptop not having to be on, or even present, at all times. Also having dns entry helps.
But for running on your laptop? Yes, nextcloud is overkill, it is not contacts/calendar server in the first place. I would look for smaller, more focused tools instead, baikal for example. For another inspiration, you can have a look at what davx5 -- the caldav/carddav provider for android -- tests against (https://www.davx5.com/tested-with).
I've been using Baïkal for about a decade. I have it in a docker container on my home lan. Android and iOS transparently and gracefully tolerate the server being unreachable outside the house.
The main issue is that I only touch it every five years or so, and at that point, I've forgotten what it is called or where it is running!
(I use synology's HyperBackup to E2E encrypt + backup it and a bunch of other docker containers.)
To avoid syncing my calendar and contacts to the cloud, I'm using wireguard as a always on VPN on my phone, to connect to a locally running CalDav/CardDav server. Wireguard on Android can be setup to only affect specific apps, so my DavX app is the only one using the VPN.