Data type tells you what sort of information is stored in your variable. I'll use C language examples below. Every language has its own data types, but the basic data types are very similar across languages.
Let's assume you would like to store some kind of a number, let's say, someone's age. You could store it in an int data type, that represents integral numbers. This data type can only handle whole numbers, no fractions.
If you'd like to store someone's salary, you'd probably use a floating point data type, so fractions could be used. Such a type would be float or double.
If you'd like to store a name, then you would use a string that can store text. In C, you can store a string in a char * data type.
You can also create your own data types as structures (or classes in object-oriented languages).
Here's an example below:
#include <stdio.h>
typedef struct
{
char * name;
int age;
float salary;
} Employee;
int main()
{
Employee employeeOfTheMonth = { "Joe Smith", 32, 67458.95 };
printf("Employee of the month is called %s.\n", employeeOfTheMonth.name);
printf("Employee of the month is %d years old.\n", employeeOfTheMonth.age);
printf("Employee of the month earns $%.2f.\n", employeeOfTheMonth.salary);
return 0;
}