In some table tennis club in Lake Wobegone, all the players are above average and you never play a weaker player. But the rest of us have to make do playing and practicing with whoever is at our club. And often that means playing and practicing with weaker players.
Some recoil at the idea. It's almost a mantra for many to say, "I want to play stronger players." And it helps tremendously to play stronger players if you want to improve rapidly. But you also need to play matches with weaker players, and you can get good practice with them as well. Here's why.
Stronger players tend to dominate the points, and if you only play them there's a tendency to develop a game that reacts to what the opponent is doing rather than forcing your game on the other. (This can be true for both matches and practice drills.) It's also harder to try new things against a stronger player since new things aren't usually developed yet and so don't work too well against better players. It's against weaker players that you can try out new things before they are ready to try against stronger players. Sure, you can try out new things against stronger players, but since you are new to these new things, you won't be very good at it, and may not get very good feedback since the stronger player will likely dominate against it.
For example, suppose you want to develop your short push against an opponent's short serve. Against weaker players you'll see weaker serves whose spin you can read, and develop control in dropping them short - and soon you'll be ready to try it out against stronger serves. If you start out against stronger serves you'll have more trouble reading the spin, and so rather than focusing on developing your ball control, you'll be forced to do two things at once - read the spin and control the ball. When developing something new, you want to focus on the new thing so you can perfect that aspect.
Or suppose you want to work on your loop. Against weaker players you can focus on good technique. Against a stronger player, any loop that's not strong might get smashed, counterlooped, or jab-blocked for a winner, putting pressure on you to go for stronger loops when you aren't ready to do that yet.
The other thing you can do in a practice game against a weaker player is to pit the weaker aspects of your game against their strengths. Or use simple serves and receives and try to win strictly by rallying or by attacking without the benefit of your better serve & receive. Or play nearly everything to their stronger side. In all these ways you create a stronger, more competitive opponent, and can get better practice.
You can get good drilling practice with weaker players as well. Rather than working on speed, focus on consistency and good technique. Do longer drills at a steady pace as you develop and hone your shots. Do drills that take advantage of the weaker player's strengths. Keep the drills simple so your opponent can focus on a few things and better react to your shots. Many players improved dramatically this way despite drilling mostly with weaker players. I know - long ago I went from 1850 to 2100 in two years practicing regularly with 1800 players, and rarely getting to play anyone stronger. It's a matter of making the most of what you have - and you'll be surprised at how much a practice partner or playing opponent has if you take advantage of their strengths rather than harp on their weaknesses and lower level of play.