What separates the great players from the good players is the ability to hide your intentions in-game and in tense situations. It's one thing to know a matchup 100% and enter a match with a gameplan but if you're predictable, all that flies out the window.
Hiding your intentions is an important skill to acquire if you want to become a top player. It's no use holding down + back with Balrog (Boxer) and randomly dashing forward attempting to react to a fireball, you must conceal your intentions.
There are countless ways to hide your intentions during gameplay. One of the best ways is doing something unorthodox. This can throw off your opponents pattern, timing, thinking etc. and grant you an opportunity to counter.
A few examples of unorthodox gameplay to confuse/bait the opponent:
This is a game from Vanilla GodsGarden between Nuki and Mago. 4:05 is the important part. Nuki uses Chun Li's s.HK to throw of Mago's timing and counters with dash ultra.
This is a game between Daigo and Marn at Seasons beatings redemption. 3:00 is where Marn counters Ryu's reversal DP with his own (very good read) and then walks backwards. The walk backwards is where Marn conceals his intention because Ryu's only way to damage from long range is with a fireball.
Marn knew this and walked backwards to bait the fireball and punished.
The ability to hide your intentions through unusual gameplay will separate you from the intermediate players. Mindgames is what makes great players great and the only way to work on your mindgames is to play against the best.
Online doesn't really solve this as much as offline but if you can find top players online by all means play them!
This is just one of the many skills you must acquire to level up. There's mastering your character and there's mastering fundamentals, both are as important as each other but mastering fundamentals allows you to level up with any character quicker than normal.