Those methods aren't really apples-to-apples:
- spsbackup.exe backs up everything in the database specific to SPS and is
somewhat portable when doing a restore.
- SQL backup backs up everything in the chosen database, but is "dumb" about
SPS. It can however do things like incremental backups which require less
storage.
- system backup software picks up everything (including any customizations done
on the file system, or files referenced in SPS that are stored in IIS), but
won't get the SQL stuff unless it's SQL aware (either by design or through admin
scripting).
So the answer is what is "best" depends on the specific type of failure you are
trying to recover from. There is no one of these that does everything.