If attribute b is functionally dependent on attribute a, this means that there is a function f such that f(a) = b. This means that whenever you have the value of a, the value of b follows from that.
An example would be passports: Your name is functionally dependent on your passport ID. This is because for every person, their passport ID is unique and therefore if you know the passport ID, you know that there is only one name associated with that id and therefore the name follows from the ID. On the other hand, the name is not functionally dependent on eye color because there are millions of people with the same eye color, so you cannot derive the name of a person from that person’s eye color.
Functional depencies are important in database design because they allow us to eliminate redundancies.
Using functional dependencies, you can apply Database normalization and thereby create a more efficient database.