android.support.design.widget.CollapsingToolbarLayout is used to wrap android.support.v7.widget.Toolbar to make the Toolbar collapsable and more beautiful. Generally CollapsingToolbarLayout contains two child component, one is ImageView the other is Toolbar.
android.support.design.widget.AppBarLayout is used to wrap android.support.v7.widget.Toolbar component. It can make Toolbar to avoid overlapped by ListView or RecyclerView controls in the screen.
Android material design is a new design pattern which google recommend. And google provide some built-in widget in it’s design support library to follow this pattern. android.support.v7.widget.Toolbar is just one commonly used widget in that library, it behaves like ActionBar, and google suggest you use Toolbar to replace ActionBar in your android app.