RecyclerView can be used to implement ListView, GridView and Staggered GridView. It is more powerful because it is just like a framework, you can use your preferred layout manager to layout the data in RecyclerView. And specify the scroll orientation as you like. It is highly decoupling and flexible.
android.widget.GridView is used to display multiple view components on the screen by row and column distribution. It is a subclass of AbsListView. GridView also needs Adapter to provide display data, including SimpleAdapter or BaseAdapter, and the usage is very similar to ListView.