Solaris 10 uses the patching method (patchadd) to update packages. Solaris 11 no longer uses patching and uses the package update (pkg update) method. I assume you are using Solaris 10.
If you are attempting to update a Sun/oracle produced package, you should be able to download the package from the oracle support site and install it using "patchadd <patch number>"
For updating 3rd party applications, that's up to the application creator on whether or not they created a patch. If there is no patch, then you will need to backup your application configuration data, remove the package, install the new package, and restore the config data.