Data provider is the most common term as a developer, we often hear it. But to be exact, what does it mean? Let’s simplify things up with SBerrySBERRY at Tech

Data Provider is a software library consisting of numerous classes which provide Data Access services.

Put it in simple words:
Data Providers contain numerous classes which can be used to connect to database, retrieve, Insert, update and delete data. 

Data providers acts as a mediator between our application code and the Database. What ever the connection we specify the provider will use it to connect to Database and the code we write using the classes in the provider will execute the corresponding DML statements in the database.

Hence there are the following .Net Framework Data providers.

Data Provider Namespace
.Net Data Provider for SQL SERVER System.Data.SqlClient
.Net Data Provider for OLE DB System.Data.OleDb
.Net Data Provider for ODBC System.Data.Odbc
.Net Data Provider for Oracle System.Data.OracleClient
.Net Data Provider for EntityClient System.Data.EntityClient
.Net Data Provider for Sql Server Compact4 System.Data.SqlServerCe

Hence if we use oracle as our back end then .Net Data Provider for Oracle is the Data Provider we opt for fast and optimized performance of our .Net application. OLE DB(Object linking and Embedding Databases)  provider enables us to  connect to any database even non relational. It is particularly desirable when our application back end may change over time. Similarly ODBC (Open Database Connectivity) is for connecting to any relational Databases.

Hope this clears out the confusion. Happy Coding