ArcGIS software is usually forward compatible -- it can usually read previous release documents (mxd, lyr, tbx), but sometimes it doesn't work the other way as these file formats have been changed with each release to support new functionality. For example, ArcGIS 10.0 can usually open an mxd created using ArcGIS 9.3, but ArcGIS 9.3 cannot open an mxd created with 10.0 mxd.
Fortunately there is "save a copy as older version" functionality for most types of documents, and "create as older version" functionality for geodatabases. (Shapefiles are compatible with all versions since 8x - but they do have limitations!) ArcGIS 64 bit geoprocessing (background geoprocessing, Server, Pro) does not support all geodata formats. An exception: ArcGIS 10.1SP1 - 10.2.2 documents and geodata files are almost entirely compatible, as the platform was very stable through those releases.
Geoprocessing scripts and geoprocessing models are generally forward compatible, but "back-porting" python models and especially scripts can be a big challenge, as tools and the GP environment changed a lot at 9.2, 9.3, 10.0, 10.1 and with Pro. ArcGIS Pro requires that python scripts be written in a way to work in Python 3. ArcPy scripts (as long as they don't use arcpy.mapping or Pro's arcpy.mp) can be written carefully to run across all 10.x and Pro versions, as long as they are set up to run in both Python 2.7/3.4).