Nearly everything in programming is about data. Stuff that the user inputs, reading from a file, receiving info over a network, getting values from other programs, etc. etc. etc. The program's job is nearly always some form of manipulating, extracting, displaying, etc. that data.
Now imagine you'd have done those actions yourself manually with pieces of paper. Would you just pile them on your desk? Would you sort them by some info on them? Perhaps group them by some form of category? Even setup an entire library complete with index cards, etc.???
The way a program keeps track of the data and keeps it available to work on is what's referred to as a data structure. It's a set of ways that it can sort / group / optimize such access. Be that haphazardly throwing them on the desk (as in just place it in the next free spot in RAM) or putting one on top of each other in a neat pile (adding to the end of an array/list) or into groups, or sorted, or a full library with index cards, etc. All those different techniques of organizing data are what's referred to as data structures.
Sometimes it's not a good idea to build up an entire library - takes longer to setup than simply going through all the pages. Same with data structures. Some are more useful on some scenarios while others work better in other situations. Learning data structures provides you with the tools to choose between them. Learning how they work means you can reason about which is more preferable in what cases. Thus when you write your program you can choose how to organize the data so your program wastes as little as possible time on finding / adding / removing / modifying / etc. said data.
Choosing the correct structure could mean the difference between your program taking hours or milliseconds. And thus could very well mean the difference between a successful program which people actually want to use, and one which everyone avoids.