The three methodologies you mention (cae, python, inp) are quite different in their utility so I would suggest using the one that suits your needs best...
1. Use ABAQUS/CAE - if you want an interactive GUI driven modeling environment. CAE supports a majority of ABAQUS features, and does so with a feature-based, geometric modeler approach.
2. Use Python - if you want to write a script to drive the ABAQUS/CAE session. Python is an object oriented programming language with unique and powerful features. The ABAQUS Scripting Interface extends python to add ABAQUS specific commands to the language. The usage is very flexible and powerful. For the truly creative you can also use the Python interface to the GUI Toolkit to create customized a UI or even a whole customized application based on CAE. As far as documentation, it is all there. But for a good tip, try the following in the command line interface. When you create an object, eg.:
>>> p = mdb.models['Model-1'].parts['Part-1']
You then type:
>>> p.
Now try hitting the tab key and see what objects/methods are revealed...
3. inp - this is the input to the ABAQUS analysis products (Standard and Explicit) and is not a programming language, but a model definition/description.