What do files ending in .obj contain?
An OBJ file (.obj) contains information about the geometry of 3D objects. The files are used for exchanging information, CAD, and 3D printing. OBJ files can support unlimited colors, and one file can define multiple objects.

The objects in an OBJ file are defined by polygon faces (which themselves are defined by vertexes, or points) and normals, curves, texture maps, and surfaces. OBJ is a vector file, which makes the defined objects scalable. There’s no maximum file size.

The format was created in the 1980s by Wavefront Technologies for its Advanced Visualizer animation software (Autodesk Maya has since replaced Advanced Visualizer). The file extension OBJ comes from the name Wavefront OBJect (the full name is rarely used). Other companies have adopted the OBJ format for use in their applications.
tell me more about what programs can use the .obj file format.
The .obj file format is typically used with 3D viewing and modeling programs such as Blender. It can also be used with a 3D printer to create a real life rendition of the three dimensional object it represents. If a dedicated 3D viewer is not available Adobe Photoshop can also open a .obj file.