Why does SQL Server use .bak extension? I've googled and I can't find any information about it. I'm wondering why does SQL Server uses .bak extensions by default.

I know that there are a lot of different software which use .bak extension, not only SQL Server. 

And another question, is there any other file formats that can be used for the backup file?
In the case of backup software, you can't use anybody's bak file interchangeably. SQL Server's backup file format is proprietary to SQL Server. It doesn't work for other apps.

You can also name your backups anything you want during the backup process - you could use the .docx extension, for example, but that doesn't mean they're readable in Microsoft Word.

(Some folks default their differential backups to .diff, and log backups to .log - but other folks just name 'em all .bak. There's no real standard out there, and changing the extension doesn't affect the contents.)