Database Snapshots : create a read-only copy of your database that can be used for reporting, auditing or recovering data.
The primary goal of database mirroring is to increase data availability and allow failover in case a server hosting the database becomes unavailable (e.g as the result of hardware or network failure).
http://www.databasejournal.com/features/...
Log shipping is one of the failover solutions offered by SQL Server 2000. In this context, failover means substituting primary server with a backup (sometimes also referred to as standby) server if the primary hardware becomes unusable. Failover solutions can also be used to provide close to 100% uptime—during primary database or server maintenance and during software upgrades you could use the standby server to continue serving your customers.
http://www.informit.com/articles/article...
Database replication is the creation and maintenance of multiple copies of the same database.
In most implementations of database replication, one database server maintains the master copy of the database and additional database servers maintain slave copies of the database.
I use :
Database snapshot : to make rollback point if some series of query fails.
Database mirroring : I use backup harddisk to make 'life' backup of my database just in case one harddisk is damage.
Log shipping : it's too expensive for my clients, i've never use it.
Database Replication : to move my database to a higher version of database server or to change my database server to another database server eg. from SQL server to MySQL