What are the main differences between these two types of fuselages?
A monocoque fuselage has its skin holding the skeleton structure together while the semi-monocoque has both the skin and the skeleton holding together. Semi-monocoque also has "stringers" running horizontally down the plane to help hold the frame together. The monocoque fuselage also cannot be used for airframes after a certain size (small aircraft with single engine), but the semi-monocoque has been used from single piston engines to commercial airliners.
A monocoque design would also have a safety risk involved if the skin was damaged because it is the load-bearing structure.
Image and some text source
The main difference between the two is the way the loads are carried by the aircraft structure.
The earliest aircraft had an underlying truss structure that carried the load, with fabric covering this load bearing skeleton. The outer shell carried no loads and from the structural viewpoint, was basically dead weight. The image below shows the underlying structure of the Blériot XI
By J.Klank - Own work, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=7219409
Later, the aircraft structure was designed so that the the skin itself was a mainload carrying member. This type of construction was called the monocoque, which is a French term for single shell (or hull). A good example is the fuselage of the De Haviland Mosquito (which is all the more impressive as it was made of plywood). The fuselage was made in two monocoque halves, which were joined together, which can be seen in the following figure.
De Haviland Mosquito monocoque structure- image from pistonwings.tumblr.com
As the skin carries the entire load, the strength requirements mean that this technique cannot be used for aircraft beyond a certain level. For thin skinned structures, buckling is critical issue, which affects the load carrying capcity. Large structures can be made that can carry load only via the skin, but support is still required. For example, the fuel tanks of Altas ICBMs carried the entire load on the skin, but required internal pressure to maintain the shape, without which they collapsed.
The semi-monocoque is in between the above two- here, a stressed skin is used that takes some of the load, but is reinforced by the underlying structure, which also takes load. Basically, both the skin and the underlying structure share the load. Most of the aircraft today use this type of construction, from small GA aircraft to the large commercial airliners. For example, the image below shoes a fuselage section of Airbus A350XWB, which features this type of construction.
Image from a350xwb.com