Hi Jeff
A sunspot occurs where magnetic field, generated inside the Sun, breaks through the Sun's surface. The size of the spot is determined bythe strength and the amount of magnetic field pushing through. The magnetic field at the surface then dissipates through a variety of processes: Solar flares, coronal mass ejections and just diffusion. Bigger spots last longer.
Hope this helps
Paulett