example of a language which can be recognised by a TM but cannot be decided by a TM
Would the answer be:
TM={<M,w> M is a TM that accepts input string w}
Could I be wrong?
In short, Any string that a recognized by a TM is called TM recognizable whereas any strings that is acceptable by a TM is called TM decidable.
For your first question - is there a language that is recognizable by a TM but not decidable by a TM? - the answer is "yes," and the language you've given, which is the universal language, is an example of such a language.
For your second question - what's the difference between decidability and recognizability? - the answer you've given is on the right track, but as written as incorrect. Remember that decidability and recognizability are properites of languages, not strings. There's no such thing as a "decidable string" or a "recognizable string."
A language L is decidable if there's a TM M with the following properties: for every string w ∈ L, M accepts w, and for every string w ∉ L, M rejects w. In other words, if you don't know whether w is in L or not, you can run M on w, wait for it to give you an answer, and discover the answer.
A language L is recognizable if there's a TM M with the following properties: for every string w ∈ L, M accepts w, and for every string w ∉ L, M does not accept w (that is, either M loops on w, or M rejects w). In other words, if you are sure that w ∈ L and want to confirm this, you can run M on w, watch it accept w, and be certain that your answer was right, but if you didn't know in advance whether w is in L, you might not be able to use M to find out the answer, since M might loop on w.