The Philosophy of SAGA
SAGA - short hand for "System for Automated Geoscientific Analyses" - is a free, hybrid, cross-platform GIS software. The heart of SAGA is it's C++ and thus object oriented Application Programming Interface (API), providing data object definitions and computational methods for raster, vector and tabular data. As a normal user, you will not get into touch with the API. But as an interested scientist or coder you will soon discover it's great flexibility.
As user, you will most likely focus on using the steady growing availability of geoscientific methods. These are implemented in various SAGA modules which are bundled in so-called module libraries. These module libraries are accessible to you in different ways: By a Graphical User Interface (SAGA GUI) or by one of the scripting methods. The scripting methods include a Command Line Interface (SAGA CMD) which allows for batch/bash scripting (i.e. coupling of different modules to automate tasks) and a python interface which gives you also direct access to the SAGA API and is thus more flexible.
The modularity of SAGA, i.e. the strict division of geoscientific methods (SAGA modules) and basic computational methods (SAGA API) allows it easily to extend SAGA's functionality without getting into touch with core development. As scientific user, you do not even need to compile SAGA yourself to develop own modules satisfying your needs.
The GUI is the most comfortable way of using SAGA: You can load raster, vector and tabular data and visualize them in map views, 3D views, diagrams, scatterplots, etc. The GUI provides great flexibility regarding e.g. color tables, layering of datasets and display of attributes. You have full access to all SAGA modules to process your data and examine the results. This includes a lot of scientific methods you will miss in other GIS applications.
In case you have to automate a special task, just use one of the scripting methods provided. If you are missing a method in SAGA, just go ahead and build your own module. This may sound more complicated than it is - just have a look at the modules of the Lectures - Introducing Module Programming module library to get a clue on how to do so. You will be surprised that even the C++ code reads more or less like a scripting language.
The Quick Start? page will give you all the information necessary to use the pre-build binaries to execute SAGA. The page Using SAGA Modules provides general information about module execution. More detailed information about some of the available modules is given within the Module Descriptions page. Last but not least you will soon find more information on how to build SAGA from source and on how to develop your own modules.