MapScript Introduction

MapScript is intended to give the end user an easier way to develop custom MapServer implementations by making the underlying C structures available in popular scripting languages.

Another interpretation:
Without MapScript you could still customize MapServer but many of the "on-the-fly" changes would need to be implemented by creating a wrapper around the mapserv executable so dynamically created Mapfiles could be utilized.
Some implementations do utilize the wrapper option successfully, however it can be much trickier to implement.

Note:
You should understand how Mapfiles & the mapserv CGI work before trying customization with MapScript.