First thing you should do is choose the appropriate recovery model for your databases.
If you need point in time restore, go for the FULL recovery model. The price you have to pay is to make regular log backups or your logfile will grow indefinitely. Taking a full backup does not stop them from growing. If you use mirroring or log shipping, you also need to be in the FULL recovery model. So you need to take full (or differential) & logs backups.
If you don't need point in time restores - go with the SIMPLE recovery model. SQL Server will automatically manage your transaction log files and reuse them so they don't grow as big. Full (or differential) backups will do just fine in this case.
Shrinking database files should only be done in very specific circumstances (NEVER automatically or as part of a maintenance plan) because they cause horrible fragmentation of your databases. A good candidate is the situation where you just moved a large site collection to another content database and you leave your original database with 80% of unused space for example. Database files grow, that's what they do.