Strangely, the hyperlink tag is the only one that is significantly different. Pretty much everything else uses the exact same keyword but with < > instead of [ ]. Some of the more complex parameters differ, but that is usually down to how the BBCode has been implemented.
The nice thing about BBCode as opposed to html, is that the BBCode interpreter simply ignores anything it doesn't like, where the html one still tries to parse it and generates an error. This means that in BBCode you can do things like [] and they show up, where in HTML if you want to show <> you have to type <>