Häufig werden größere Plattformen zunächst einmal auf Basis eines Content-Management-Systems oder einer Shop-Lösung begonnen. Vielfach sind auch Dinge aus einem ursprünglich anderen Ansatz hervorgegangen und werden dann noch lange „mitgeschleppt“, auch wenn sich eine Plattform in eine andere Richtung entwickelt hat. Ich hatte z.B. mehrfach mit einer recht großen Plattform zu tun, die nur ganz am Rande auch ein paar wenige Produkte zum Kauf anbietet, die aber bei meinem ersten Projekt noch auf Basis von Intershop lief, weil ursprünglich tatsächlich mal eine kleine Tochter des Ladens diese Plattform für den Vertrieb dieser wenigen Produkte aufgebaut hatte, dann aber angesichts der sonstigen Entwicklungen der Online-Aktivitäten des Ladens zum Randthema wurde. Da hatte man dann Intershop bis zur Unkenntlichkeit als CMS missbraucht, bis man sich irgendwann dann entschied, dass es so nicht weitergehen konnte, und man einen kompletten Relaunch beauftragt hat.
Was so als Basis vielfach zum Einsatz kommt sind dann aber keine Lösungen „aus dem Karton“ . Sondern da reden wir dann von gewissen Grundfunktionen als Ausgangspunkt für den Einsatz fertiger Komponenten von Drittanbietern und Individualentwicklungen. Vielfach werden auch Frameworks (die oft nicht mal einen richtigen Namen haben) eingesetzt, die ein Implementierungspartner mitbringt um bestimmte zusätzliche Funktionen schnell und kostengünstig realisieren zu können.
Mit einem Blick in den Quellcode der ausgelieferten Seiten kann man teilweise noch ganz gut erkennen, was da ursprünglich mal der Startpunkt einer Seite war, wenn man da z.B. Standardpfade mit Standardbezeichnungen bestimmter Produkte findet.
Es gibt aber natürlich auch durchaus komplette Eigenentwicklungen „from cratch“ in Java, .net, … die dann aber ebenfalls normalerweise gewisse Frameworks für Grundfunktionen nutzen.