Boa Tarde,
A grosso modo, você nunca acessará o banco de dados diretamente. Sempre haverão camadas para ocultar a complexidade que é trabalhar diretamente com o banco de dados. Essas camadas podem ser o ADO, DAO, ADO.NET, DbExpress, OleDB, OBDC, etc.
O que ocorre é que normalmente o ODBC costuma ser uma camada a mais sobre as já existentes e tende a provocar uma lentidão (embora imperceptível) do que as conexões "diretas". A utilização do ODBC é benéfica porque você procurará o ODBC pelo nome e caso seja necessário alterar o apontamento, você pode apenas alterar o nome no ODBC sem procurar todos os lugares que o referenciam.
Em todo caso, a utilização do ODBC tem sido cada vez mais desincentivada. Dizem os boatos que o ODBC está marcado para entrar em Deprecated Feature e talvez em uma versão futura do Windows não tenhamos mais OBDC (acho difícil).
[ ]s,
Gustavo