Question: I am a little bit confused, we call CDI bean to the beans which we inject them using `@Inject` annotation or the beans which we use `@Inject` inside them ?

Answer: 
CDI **does not introduce** a new bean type called a *CDI Bean* with its
own unique component model.

CDI **provides a set** of services that can be *consumed by managed beans and EJBs* that are defined by their existing component models.

So, **CDI is just a Bean** (EJB or Managed Bean) handling CDI lifecycle with scope for *Context* and other old feature *DI* .
CDI got introduced in Java EE 6 to provide some of the features available earlier to EJB only to all components managed by container. So CDI bean covers Servlets, SOAP web service, RESTful web service, entities, EJBs etc. 

> 
> So you can use all these terms interchagebly : 
> 
> 
> * CDI bean
> * bean
> * managed bean
> * EJB bean
> * container managed bean etc.
> 
> 
>