Intuition why $ L= \{\langle M \rangle| \ L(M)=\Sigma ^* \}\notin RE $
The class RE contains all languages $L$ which can be expressed in the form
$$
x \in L \Longleftrightarrow \exists y \, P(x,y),
$$
for some computable predicate $P$.

Your language can be expressed in the following way:
$$
\langle M \rangle \in L \Leftrightarrow \forall x \exists t \, \text{"$M$ halts on $x$ after $t$ steps"}
$$
The quoted predicate is computable. This puts your language in $\Pi_2$, a level on the arithmetical hierarchy. There seems to be no natural way to come up with a simpler expression (less quantifiers), and this is why, intuitively, the language is not r.e. This kind of intuition usually works – write down an expression for your language in the most natural way, and this usually puts it in the correct level of the arithmetical hierarchy.

Your language is in fact $\Pi_2$-complete – every language in $\Pi_2$ can be reduced to it. Indeed, suppose that
$$
x \in L' \Longleftrightarrow \forall y \exists z \, P(x,y,z),
$$
where $P$ is computable. Given $x$, you can construct a Turing machine which on input $y$, goes over all $z$ in parallel, determines the value of each $P(x,y,z)$, and if it ever finds a value of $z$ such that $P(x,y,z)$ is true, it halts. This construction gives a reduction from $L'$ to your language.

Since your language is $\Pi_2$-complete, we know that it is not in $\Sigma_1$ (another name for RE), since the arithmetical hierarchy is strict. This means that there is no way to describe the language using fewer quantifiers (or using $\exists\forall$ rather than $\forall\exists$).

Your language is usually known as TOT, the language of all total Turing machines.