Not only is armor obsolete against a technologically sophisticated opponent, but stealthy drones and stealthy missiles have made surface naval combatants obsolete as well. Yet many soldiers and sailors will die before today’s “battleship admirals” and “hidebound generals” come to understand the new realities.
You would need many drones to protect each ship. For a destroyer, you would have 1,000 drones on patrol to protect against kamikaze drones and missiles.
Rather than employing their armor en masse and using speed, they chose a lumbering, broad front advance with dispersed armor. That made their armor much more vulnerable, and it didn't help that they tended to advance without close infantry support.
The Moskva apparently rode the same track for days, making it much easier to target. And neither their armor nor the Moskva was properly supported with SEAD missions. Just bad tactics.
I do agree that surface ships and armor are more vulnerable than they used to be, but they also are necessary for effective large-scale offensive action. Dismounted infantry armed with anti-armor missiles and drones make a nice defensive force, but are lacking in offensive punch and mobility. Tactically, the Russians played right into the strength of the Ukrainian defense.