I am sorry for being short. There are a couple of manuals in the documentation dealing with ABAQUS Scripting Interface and another one dedicated to user subroutines.
I am afraid that I could not possibly answer your question better than the introductory chapters in these manuals.
To make a long story short, considering the information flux:
1. You define you model with ABAQUS/CAE (i.e. post-processing tasks). For advanced modeling tasks you can use ABAQUS Scripting Interface (Python-based).
2.Once you completed model definition, you submit the model to be computed by the solver. The solver can use the FORTRAN user subroutines for advanced tasks, for which the ABAQUS/CAE is not sufficient. For example, one can define a new material response in UMAT or new element type in UEL, can supply a coordinate dependent load in DLOAD or can prescribe sophisticated displacement field in DISP and so on. The solver typically calls the subroutine each iteration for each node or integration point. As the computation advances the results are output in the results database.
3. Having obtained the results, the analyst's most important task is to assess these results. This part is called "post-processing" and can be done in ABAQUS/CAE Visualization Module. For advanced tasks, ABAQUS Scripting Interface either Python-based or C++-based can be used.