Well, in WPF the difference between ListView and DataGrid is just one. Editing. You need editing use DataGrid, otherwise use ListView. You can edit in ListView also but it is easier and build in DataGrid. Otherwise, whatever can be displayed in DataGrid, can be displayed in ListView.
One thing which DataGrid supports and ListView doesn’t (out of the box) is automatic column generation.
You can read this article on CodeProject for a better understanding of DataGrid and also about the major differences between ListView and DataGrid.