Here at my company I do the following.
At the end of the day I take a full back-up, using a SQL Server job. The syntax for this is well documented in BOL however here is an example:
BACKUP DATABASE [DATABASE]
TO DISK = '[PATH]\[DATABASE].BAK'
WITH INIT;
I then execute a .bat file that runs a compression process using a free Zip utility to make the files smaller before been shipped off.
During the day I have 4 transaction log backup jobs that run every 10-12 minutes. Each backing up to a separate file.
Then Every hour I run a differential back-up (this will back-up only the differences since the last back-up) I then destroy the transaction files and start again.
Hope that gives you a little info on how it can be done in SQL Server without any 3rd party costly tools.