What OFX is
OFX is the format behind the Download Transactions button on your bank's website. Version 1 is SGML, where a leaf element has an opening tag and no closing one. Version 2 is real XML. QFX is Intuit's variant of the same thing with a few extra tags, which is why a .qfx file opens in Quicken and is refused by software that only knows plain OFX.
Retail banks, credit card issuers and brokerages, because it is what Quicken and Microsoft Money asked for and the industry standardised on.
What XML is
XML marks up data with nested named tags and optional attributes. It is verbose, strict about being well-formed, and can carry a schema that says what shape a document must have.
Enterprise integrations, government data feeds, RSS, SOAP services and older document formats.
What changes when you convert OFX to XML
Each STMTTRN block becomes a row: date, amount, type, payee, memo, cheque number and the bank's own transaction id. The account number and currency come from the statement header and are added to every row, so a file merged with another still says which account it came from. Both the SGML and the XML flavour are read the same way.
Each row becomes an element with one child per column. Header names are rewritten where they have to be, because an XML tag cannot start with a digit or contain a space, so a column called 2024 Sales becomes _2024_Sales.
What carries over from OFX to XML
One property of the OFX has no home in XML, and it is worth knowing which before you convert.
OFX distinguishes a number from the text of a number; XML does not, so every value arrives as text and has to be re-parsed by whatever reads it next.