Decidable: A problem is a decidable or REC if there exists a TM for this language which can accept the members of the language and reject non-members of the language, both in some finite time. This TM will eventually halt at the end.
Semi-Decidable: A problem is Semi-Decidable or RE, if we have a TM for it which can accept the members of the language, but for non-members it may or may not halt. It may be a case in which TM is running for infinite time on non-members.
Undecidable Problems: Not RE, No TM exists for such problems neither for members nor for non-members.
You can say every decidable problem is Semi-Decidable too, but can't say a Semi-Decidable is Undecidable problem!!