IBM’s definition of a subsystem is :-
An operating environment, defined by a subsystem description, where the system coordinates processing and resources.
Subsystems can be used to control how different jobs run on your system and how much resources are allocated to different jobs.
For instance – in a mostly interactive environment you may want all your batch jobs to run in a batch subsystem which has 25% of your systems memory allocated to it, while your interactive jobs run in a subsystem which has 75% of your systems memory allocated to it. In a mostly batch processing environment you may want more memory allocated to your bacth jobs and less for your interactive.
Another example is, that you have several customers that use your AS/400 with different agreements on how many users can access the system – you can allocate subsystems based on device id’s and you can use different subsystems to limit the number of active jobs per subsystem. So if all customer A’s workstation devices start with an A, all their interactive jobs would go to subsystem A, etc.
These are over-simplified examples, but they should give you an idea of what subsystems can be used for.
If you put AS400 in as a tag, more AS400 people will find your question.