There must be another reason and that is of course that the rotation axis of the Earth is tilted with respect to the plane in which the Earth orbits the Sun.
That plane of the Earth orbit is called the ecliptic.
The plane perpendicular to the rotation axis of the Earth itself is called the equator.
The angle between these two planes is about 23.5 degrees and is called "axial tilt" or obliquity. (Demonstrate with globe).
|Right-click for player controls|
The orientation of the rotation axis stays roughly the same while the Earth is orbiting the Sun. This means that in different times of the year, the Sun is high in the sky for different parts of the Earth.
This explains the changing seasons throughout each year and also why the two hemispheres have opposite seasons.
It also explains why above the arctic circles, the Sun does not set in summer and does not rise above the horizon in winter.