A render is exactly as you say in your first bullet point; a render is a snapshot (or series of snapshots for animations) of the scene taken by the scene's camera, saved as either an image, a sequence of images or a video. The file format will be whichever format you save it in e.g. JPG or PNGs etc. for images or MP4 or MOV etc. for videos.
The process of creating this render is rendering, which is where the renderer - Blender Render, Cycles or an external render engine - calculates what colour each pixel should be based on how light is travelling through the 3D scene and interacting with the surfaces, materials and textures on the objects. This can be an intensive process, particularly for animations where a render has to be done for each frame of animation.
For a 3D game, game engines will need the 3D models and textures in a format it can read. Commonly, you would export your models from blender as 'FBX' or 'OBJ'. These files store the 3D models as a series of points (along with other data like bones, UV maps etc.). Textures would have to be provided separately and materials would have to be created using the game engine's own material editor as they are not compatible with Blender's own materials.
To get around this you might create materials in Blender and Bake them to a texture, which is a way of rendering a material into a texture so that you can use it in the game engine (though baking has many restrictions which may mean that using the game engine's materials and lighting is preferable).
Game engines perform a 'live' rendering where for each frame (update) of the game engine the materials and lighting have to be re-calculated. Depending on the complexity of the materials and models this can be an intensive process which is why high end hardware may be needed for this 'live' rendering.