Being an early adopter sucks. All you get is to be a free tester for the product. So, it’s usually worth waiting for at least the first patch before upgrading.
Even mature projects ship bugs with new major versions. A good example of this is the recent muck up with USB-C on the Raspberry Pi 4.
When it comes to software, while easier to fix, this encourages developers to ship bugs and patch them later. It’s worth waiting for the inevitable recovery release before applying an update, unless there’s a specific fix or feature that you want.
It’s hard to tell if an update is a small patch or not without reading the release notes. It would be helpful if there were an extra-stable release channel just for fixed builds.
For example, if you look at the VS Code release notes you can see that almost every release has a x.x.1 update to address issues. If you wait for this to come out then you will experience fewer breaking changes.
The same is true for the fat version of Visual Studio. Be careful of new major or even minor releases and stick to the patch bumps. Semantic Versioning is helpful here, as long as it’s applied correctly.
.NET Core 3.0 is being released at .NET Conf on Monday 23rd September 2019 at 16:00 (UTC) / 17:00 (BST). As this is a major release, I would wait for .NET Core 3.1 to ship in November before building anything serious with it. Microsoft clearly recognises this too as 3.1 will be the next Long Term Support (LTS) version, as shown on the roadmap (just as 2.1 is the current LTS release).
Of course, you should always apply security patches as soon as possible!