These things are perfectly fine to use from time to time, as a way to keep them busy and distracted, much like a coloring book. However, there are several different ways to help your child learn the things you want him to learn- and I promise they are way more fun than printables and workbooks!
Children learn best by what interests them! They learn best from doing things first hand, by self discovery, by using their senses! What does your child love to do? What are his favorite toys or favorite places to go right now? Once you determine these things, you can start building a home-curriculum around it that will help him learn whatever you want him to learn.
I'll give you an example. Say your child is totally into Thomas the Train right now. He lives and breathes Thomas and Friends. Use this to your advantage. Do you want him to learn his shapes? Tell him that trains are in a shape of a rectangle. What shape is Thomas' face? Help him identify what color Thomas and his friends are. What about Thomas' name? Show him how to spell it. Then show him how to spell his own name while you're at it. Do you want him to learn the difference between big objects and small objects? Have two Thomas trains that are of different sizes? There you go! Ask him- which is the big train, which is the small train? Teach him physics- can you make the train go slow? fast? Teach him math- let's count all your Thomas trains! Help him expand his vocabulary. How does the train feel? Is it hard or soft?
The learning doesn't stop there! Has your child done something he wasn't supposed to? Has he hurt a friend or done something mean to you? Use the Thomas characters to act out what happened and explain how each "person" is feeling.
You can literally open up your child's eyes to a number of learning experiences just by honing in on what your child can relate to. You definitely can't do all of that from a printable.
What is your child into? What are some ways you can use that to help your child learn? Have more questions? Comment below or ask me!