Please see if below helps?
$L3 = \{a^ib^ja^{2i}b^{3j}| i>=0, j>=0\}$
Is not context free, but is recursive. Why?
$L3$ is not context free - This is because it cannot be simulated by a pushdown automata with a stack. For example, if we were to store the number of $a$'s in the stack and then $b$'s on the stack (on top of the $a$'s), we can't get access to the number of $a$'s to check $a^{2i}$
Assumption let a TM have three moves - go right on input tape, go left on input tape and additionally, it can stay at the same place
$L3$ is recursive - We can construct a TM that goes writes out the $a$'s on a tape, as it reads the input, and then the $b$'s. Then we can ask the TM to go all the way left again and start checking from the left (for what's on the input tape is the same as what's on the working tape) - and does this twice. Similarly it has to do this thrice for the b's. The TM will halt for sure at the end of the input, as it only ever goes right on the input tape, or stays at same place.
The TM definitely halts, and at halting it accepts every input input that is part of the language, and rejects every input that is not part of the language. So it is decidable (or equivalently, recursive).
$L1 = \{\text{w | w encodes a Turing machine which writes the sequence } abc\}$
$L1$ is not decidable, but is recognizable. Equivalently, it is Recursively enumerable but not recursive.
$L1$ is not decidable
Halting of a TM is not decidable, therefore if a TM has not written $abc$, and is in loop, the TM which recognizes $L1$, also cannot halt. Therefore it can't know when to stop and reject a w that never writes the sequence $abc$.
On the other hand,
$L1$ is recognizable
Our required TM can run $w$ on a universal turing machine, and have a simple DFA that checks whether the UTM writes the sequence $abc$.
Therefore the Turing Machine will halt and accept the strings in that language. Note that because of construction of the DFA, it will not accept strings not in that language. But as seen previously, it may not halt for strings not in the language.
$L2 = \{\text{w | w encodes a Turing machine which never writes the sequence }abc\}$
$L2$ is not recursively enumerable.
Let our TM (call it M) simulate w on a UTM. It is unknown whether UTM will halt given arbitrary input. But to say TM will never write $abc$, we have to wait till UTM stops. Therefore we cannot accept w until UTM finishes simulating w, which may not take finite time (in case of loops).
Therefore since the halting time of our proposed TM $M$ is unknown, we cannot recognize all $w$ that are in the language. Therefore it is not RE.