Your graphics hardware can draw triangles on the screen.
Your code does everything else. Since a lot of stuff is common between many games, they are often separated out to a game engine that takes care of everything that isn't the game itself (story, points, behaviors).
The engine usually handles stuff like:
* Load models, animations, textures, shaders sounds, maps, etc. from disk and store in some suitable data structure.
* Keep track of the 3D world. (Where objects are, where the camera is)
* Handles physics simulations.
* Handles input.
* Renders the world.
There is nothing magical about al this. You could (theoretically) do it all yourself.
> What must be done to "get" that 3-D space to exist in the first place?
The engine would usually have some form of scene graph. There are lots of different ways to do this, depending on the situation and the needs of the game. It could be as simple as a list of "scene entities" with a pointer to a 3D model (basically an array of triangles), a coordinate for the position and a quaternion/matrix for the orientation.
> how and where to draw to this "area" of space, and where it will end up, how big it will be
This is the job of the renderer. It takes a scene entity and hands it over to the 3D driver to be rendered. Depending on the position and orientation in the 3D world of the camera and the object, a projection matrix is calculated. All the vertices of the triangles are transformed by this matrix and gets x/y coordinates on the screen. (Google projection matrix.) Then the triangles are drawn by the hardware.
> And what about a "level editor?"
Mostly, you would just use a modeling software like 3DSMax, Maya, or Blender. They can save your 3D objects (the level) into some file format your code can read. It can be as simple as an array of triangles.