When I upgrade, should I use SunInstall "upgrade", or start over?

You can't do a SunInstall "upgrade" from 4.1.x to Solaris2.
You can use the Admigration toolkit (q.v.) to help you move
from SunOS 4.1.x (Solaris 1, actually) to Solaris 2.

If you're moving from Solaris 2.x to 2.(x+y) [for small values of y]
then you can use "upgrade" to preserve your existing partitions
and local changes (including pkgadd!!), though it runs very
slowly (about 1.5-2x the time for a reinstall) and does require
that you have enough free space in / and /usr - make these big
when you first install! If you run out of space in one of
your partitions, you can always remove some components. Those
will not be upgraded and can be installed elsewhere after
initial upgrade (e.g., you can remove OW, Xil, Dxlib, manual
pages, etc)

There is no need to backout patches before upgrading.
In 2.2, the system would back them out for you, in 2.3 it
won't back out the patches but removes them without a trace.

An upgrade may not work as well as a full install.
E.g., the upgrade from 2.x (x<3) to 2.3 will leave
aliases for all your ptys in /devices/pseudo.

There's no need to upgrade to all intermediate releases.
You can go from Solaris 2.5 to Solaris 7 in one step.
But be careful in checking release notes, each release
typically only supports upgrades from a few earlier
releases and not all.

When you upgrade a system, you must make sure that you read
the release notes completely. Often, you'll need to upgrade
to new versions of Veritas, DiskSuite, etc.

As of Solaris 9, DiskSuite is incorporated in the base OS
and it systems can be upgraded without issues.

It also pays to carve out a second root partition and
experiment with live upgrade; this allows you to upgrade
your OS with little or no down time plus the ability to
revert back to the old version by booting the alternate
boot environment,

[an error occurred while processing this directive]