There are many reasons why I prefer a canopy, with the chief one being cost. A close second is the fact that I enjoy my time outside mostly because my full time job is inside a factory. Other advantages of a canopy is increased stability due to lower center of gravity, lower maintenance cost, and increased fuel economy. Also does not cover up abnormal operation noises from equipment. When you add all that up, you couldn't pay me to own a tractor with a cab.
That said, you also couldn't pay me to work on a tractor in the hot sun or rain, without a canopy. This is the one I spent a couple hours making for my JD 4120 back in 2005, when it was new. It has held up well for 16 years, although I did replace the canvas top when the old one (made from an old boat cover I got for $5 at a garage sale), got a tear in it.
My brother in law was scrapping his tent camper and some canvas from that made a perfect replacement cover for my canopy. The frame is made from 1-1/2" square pine and a couple 2x4's. It attaches with (2) 3/8" bolts drilled thru the top of the rops, and two metal diagonal supports (cut from an old fertilizer spreader handle), attached to the rops folding brackets with (2) 5/16" bolts.
The whole assembly weighs about 35 pounds and can easily be lifted into place with one hand.
The effectiveness of a canopy in the hot sun really has to be experienced to comprehend. The motion of the tractor, coupled with the shade from the canopy, makes for comfort, even on extremely hot, dead-calm days. So much better than being locked in a glass box waiting for your air conditioner to cool you down.