To commit or not to commit

Could anyone pls explain the art of transactions (commit, rollback) when
connecting to a MSSQL database and perhaps write som sample code.
If using an update statement with a TQuery component, do I have to commit
the change in data or does the BDE does it for me? If I need to but don't,
what happens in MSSQL. Does the transaction log grow unwantedly and in that
case, will these noncommited transactions not be cleared at the next backup
of the database and log?
Many questions - pls bare with me.