Could you go into a bit more detail why the Gigabyte B450M is better than the MSI B365M (RAM slots, max RAM, and max RAM MHz are obvious to me but surely there is more)?
Sure;
Gigabyte specs:
https://www.gigabyte.com/Motherboard/B450M-DS3H-rev-1x#kf
MSI specs:
https://www.msi.com/Motherboard/B365M-PRO-VH/
Besides the obvious RAM slot amount, MSI MoBo also doesn't have 2nd PCI-E x16 slot, which Gigabyte MoBo has.
Now, most people hardly ever use 2nd PCI-E x16 slot, but if you're running dual GPU, it is required. Also, if in any event upper PCI-E x16 slot happens to die (it has happened, albeit rarely), you'd still have 2nd PCI-E x16 slot, where to plug your GPU.
Sure, MSI MoBo has PCI-E x16 slot guard (metal strip around the slot) helping to prevent heavier GPUs to sag and eventually break the PCI-E x16 slot. Though, i've only seen 1-2 such cases in my years, where PCI-E x16 slot has broken open. Still, possibility remains.
SATA ports wise, MSI MoBo has 6, while Gigabyte MoBo has 4. And unless you are going to hook up more than 4 SATA drives to your system, this doesn't matter.
USB ports wise, MSI MoBo has total of 12 while Gigabyte MoBo has 14. The two extra USB ports Gigabyte MoBo has, are USB 2.0 ports.
Additional differences you can find out by comparing the specs pages. (Can't do all the work for you now, can i?
)
Is it possible to judge when the Gigabyte B450M will no longer support the latest gen CPUs?
Yes, and here, we don't need to judge/guess, but it is already established that the new Ryzen 7000 series desktop CPUs/APUs, will not work on the 400-series and current latest 500-series MoBos, since the 600-series MoBos will be using AM5 CPU socket.
Btw, Ryzen 6000 series are laptop CPUs and not desktop CPUs, hence why next series of desktop CPUs are named as 7000 series.
So, in the future, if you plan to upgrade to Ryzen 7000 series, you will need 600-series MoBo. Best you can do with 400-series MoBo (Gigabyte B450M DS3H-CF), is Ryzen 5000 series CPU (e.g R5 5600x), with selective BIOS version, that gives support to Ryzen 5000 series. If not, best you're looking at with Gigabyte MoBo, is Ryzen 3000 series CPU (e.g R5 3600).
Which will be become obsolete more quickly - the CPU or the Mobo?
There is no clear/short answer to this.
Since MoBo defines which CPU you can use, we could say that MoBo becomes obsolete 1st. However, if MoBo is good, offering features that you need, there is no reason to replace it, while keeping the same CPU. Also, almost all people, when upgrading MoBo, are going with new CPU anyways, since MoBo chipsets, support 2 generations of CPUs, before needing to be replaced with newer chipset.
For example;
Intel releases their CPUs based on tick-tock cycle, where tock is architecture (e.g Skylake) and tick is that architecture refresh (e.g Kaby Lake). And for each tick-tock, Intel has two chipsets, that support both the tock and tick CPUs. But do not support older or never CPUs, outside of the tick-tock cycle. Oh one tick-tock cycle takes 2-3 years.
E.g:
Tock - Skylake (6th gen CPU) - 100-series chipset (e.g H150, Z170)
Tick - Kaby Lake (7th gen CPU) - 200-series chipset (e.g B250, Z270)
Tock - Coffee Lake (8th gen CPU) - 300-series chipset (e.g B360, Z390)
Tick - Coffee Lake Refresh (9th gen CPU) - 300-series chipset
Tock - Comet Lake (10th gen CPU) - 400-series chipset (e.g H410, B460, Z490)
Tick - Rocket Lake (11th gen CPU) - 500-series chipset (e.g B560, Z590)
Tock - Alder Lake (12th gen CPU) - 600-series chipset (e.g H670, Z690)
Tick - Raptor Lake (13th gen CPU) - 700-series chipset
Every Tock cycle MoBo will support the following Tick cycle CPU, with latest BIOS. So, when you get yourself a Tock cycle MoBo, e.g B360 chipset, which natively supports 8th gen CPU (e.g i5-8600K), then with BIOS update, you can use any 9th gen CPU as well (e.g i5-9400F). But if you want to use newer CPU, e.g 10th gen, then you will need a new MoBo.
I find this Intel tock-tick cycle neat, especially when you get Tock cycle MoBo, since you can be rest assured that the next gen CPU will also work, giving you option for future use.
Now, getting Tick cycle MoBo isn't that good, since you will be stuck with that CPU generation and upgrading CPU to next gen, will require MoBo upgrade as well.
---
AMD, in the other hand, with their Ryzen series, wanted to break this tick-tock cycle of Intel (since for some consumers, their MoBo supporting only 2 generations of CPUs is too little), AMD boldly claimed that they will keep CPU support for their MoBo far longer. And in a way, they have done it, but with caveats, making the situation far more complex for end users, to figure out which chipset supports which CPU.
Here is the current Ryzen CPU vs chipset support table,
link:
https://www.amd.com/en/chipsets/b550
(Either scroll down or click Specifications)
As we can see, AMD 300-series chipset support 3 CPU generations: Ryzen 1000 series, 2000 series and 3000 series, where latter needs to have beta BIOS. Next in line, AMD 400-series chipset also supports 3 generations of CPUs; 2000 series, 3000 series and 5000 series. Again, latter with beta BIOS.
One could assume, that the current AMD 500-series chipset will also support 3 generations of CPUs; the latest 5000 series, upcoming 7000 series and another series in the future.
However, this is not the case, since AMD with their 600-series chipset, will change out the aging AM4 CPU socket, in favor of AM5 CPU socket and that means, that the new Ryzen 7000 series CPUs, all of them, will need a new MoBo.
There is a reason why Intel does it's tick-tock cycle, keeping 2 generations of CPUs supported by 2 chipset generations. It gives a good balance in terms of latest tech, CPUs and MoBos can offer, without being hindered by backwards compatibility. AMD did try to do it differently but even they can not keep way old chipset compatible with much newer CPUs.
---
So, to answer your question; which becomes obsolete 1st, CPU or MoBo. It depends on what chipset MoBo are you getting. And how willing are you to keep using what you can currently afford.
For example, my main PC uses 6th gen Intel CPU (i5-6600K) and 100-series chipset MoBo (Z170), which i bought back in Q4 2016 (Skylake build, full specs with pics in my sig). Now, since i got myself a Tock MoBo, with BIOS update, i can upgrade my CPU to any 7th gen CPU, if i so desire (e.g i7-7700K). However, based on my needs, i haven't had a need to do that. My CPU is still strong for my tasks and i'm happy with what i have.
Currently, i could go with latest Tock MoBo from Intel side, 600-series chipset, but since that means i need to use DDR5 RAM (i can buy 600-series MoBo that supports DDR4), i haven't had the real need for that as of now. Since i don't want to spend the fortune what DDR5 RAM costs, at least not at current moment.
When will 32GB RAM (max for the MSI mobo) be obsolete for moderate to prosumer needs?
Currently, for consumer, 16 GB is the norm, while 32 GB are sometimes suggested, for future proofing based on what direction gaming world is headed. But for producers, 32 GB is bare minimum, while 64 GB is suggested. Since any 3D work needs a lot of RAM. Many 3D work builds have 128 GB of RAM to make the work better. Essentially, its 1:4 ratio, between consumer RAM amount and workstation RAM amount. So, when consumer norm would be 8 GB, workstation norm would be 32 GB. When consumer norm is 16 GB, workstation norm would be 64 GB. And so forth.