Die PHP-Datei, die die Verarbeitung übernimmt ist die gleiche, das geht alles über die edit.php in der user view. Durch die verschiedenen Variablen addST und editaddresscartST werden einfach nur andere Bedingungen verwendet. Dass die so unterschiedlich aussehen, mag daran liegen, dass letztere später dazu gekommen ist, und derjenige Programmierer den Variablen lieber einen aussagekräftigen Namen gibt.
Wie bereits geschrieben, es gibt verschiedene Möglichkeiten, angemeldet, nicht angemeldet, schon eine Lieferadresse vorhanden und was weiß ich noch. Da steckt meistens ein Sinn hinter, der nicht gleich offenbar wird.
Generell wäre es sinnvoll, so etwas zu haben, wie die Nachricht, dass nichts im Warenkorb ist, aber es gibt immer Ausnahmen, und VirtueMart lässt gerne einige Dinge offen, die man dann über das Template regeln kann. Wie gesagt, einige Templates bieten das an, andere wiederum nicht. VirtueMart ist im Grunde der Motor mit dem Rahmen, ein Template bestimmt dann wie das Gerät nach außen hin aussieht. So ungefähr wie Skoda, VW und Audi. Der Kern ist gleich, Motor, Fahrwerk usw., aber die Anbauten kann man sich nach Geschmack aussuchen.