mix IDE M2

Integrated debugger;
Hit F5 and you can step forwards/backwards through execution.

TransactionBuilder will certainly have more features, these features will only have the purpose to facilitate the creation of transactions. For example to instanciate a Transaction from a different source (JSON source for instance => getTransaction(JSON)). Finally TransactionBuilder might only be used as a convenient class to instanciate Transaction. But I see what you mean, these two methods might be useless as we can directly use Transaction().
I thought it was good to have two functions (getCreation... and getBasic...) so we know directly by the function name what we are doing and we also know exactly all the parameters required. But yes this is also redondant.