Understanding the difference between complex and simple features is the beginning; knowing what to do about it is the next step. Given that GeoServer will only serve simple features by default, there needs to be a mechanism to enable us to deliver complex features when the need arises. Such a need might be to deliver vector data to our users through some community-derived schema. For example, the European Union INSPIRE Directive (http://inspire.jrc.ec.europa.eu) mandates the use of GML in delivering harmonized data models for the delivery of key datasets across EU member states in an effort to drive interoperability and standards. If you are responsible for INSPIRE compliance or would like to deliver your data in an INSPIRE-compliant way, then the ability to deliver complex features from GeoServer will be important.
Perhaps you want to be able to deliver multiple data tables from a database as a single package of related features for use in an application...