ODBC is a database independence layer from Microsoft. It is found on various Windows platforms. This allows any application to talk to a SQL database using a standard API, rather than finding a suitable driver from the database vendor, and the database vendor to write only one driver.
Also, in theory it will make the application independent of which SQL database it uses. However there are usually subtle differences that foil this.
ODBC is now deprecated by Microsoft in favour of ADO, which is COM based, and thus exposes objects' interfaces rather than a functional API.
Both ODBC and ADO are standards in the sense that they are what Microsoft dicates that you will use when you are programming on Windows.
This is not all bad, actually. I'm quite glad that they managed to drag the industry over to ADO from ODBC. Still they were responsible for OBDC in the first place. ODBC, in turn was better than the primal chaos that preceeded it.