Steely, grim perseverance in the face of certain destruction @JoshuaBakker has made an interesting comment:


  Why would you want [weaker competition]? For learning it's better to play against decent players....


But is it?

I believe that such advice used to be conventional during the precomputer era. If Capablanca had time to play chess against me, then I should have seized the opportunity, even if I must certainly have lost.

But is this not chiefly because Capablanca rarely had time to play chess against me?

Today, Stockfish always has time.

One could reasonably infer from the comment, taken in context, that an Elo 1300 player wasted his time by playing any Elo 1000 to 1600 opponents, if he could instead have been playing against nothing but the masters. Yet, is this really true?

Would one really learn chess best by fighting only hopeless odds? Does one truly gain nothing by the occasional victory, having taking advantage of an opponent's blunder? Must steely, grim perseverance in the face of certain destruction be the sole mode of chess play which has any lessons to teach?

(Here are a related question and answers from last year.)
As this question highlights, it can become problematic if you don't even feel like you have a hope of winning a single game. Where's the fun in that? In my opinion, chess should be played first and foremost because it is fun. It isn't very fun never to feel the satisfaction of playing a nice winning combination against an opponent.

I think it's important for chess improvement to have fun while dealing with chess, and thus some success is needed. Otherwise it all becomes a chore, which will impede development in the long run. Therefore, I don't think it's
advisable to play against stockfish for practice, unless it's training of some particular technique. Furthermore, stockfish training (i.e playing games against stockfish) will never really be applicable in regular games, as humans cannot, and will not even try to, play like the top computers.

However, facing strong opponents is a crucial component to improving. The ideal opponent is in my view somebody with a strength about 200-400 rating points above oneself. Then they will most likely beat you, and highlight the mistakes you make which makes them easier for you to discover and correct for future games. But you still have a realistic chance of scoring. You will have to struggle though, and really push yourself not to get blown off the board. 

If you don't play stronger opponents, you will never improve very much. Why? Because there simply is no need for improvement then!