템플릿 관련해서 진짜 초보같은 질문이 있습니다

아직도 wpf 가지고 두달 가까이 낑낑대고 있는 초보입니다.
기본 컨트롤만 가지고 조물거리다가 템플릿을 만지작 거릴려는데
헷갈리는게 있습니다.

TreeView의 템플릿과 TreeViewItem의 템플릿이 따로 있더라구요.
대충 TreeView의 템플릿은 Treeview에 직접 추가된 DataType의 객체에 대해 적용되고
TreeViewItem의 ItemTemplate는 그 TreeViewItem의 ItemSource에 적용되는걸로 이해했습니다.
제가 이해 한게 맞나요?

템플릿이 정의할 선택지가 2개라서 오히려 어디를 고를지 모르겠는데
보통 TreeView와 TreeViewItem 중 어느 쪽에 템플릿을 정의하는게 일반적인가요?

또 Gridview를 쓰는 ListView 컨트롤과 템플릿 정의된 ListViewItem을 같이 쓰는 경우가 많이 있나요?
ListViewItem에 템플릿 정의가 따로 돼있으면 ListView의 헤더 바인딩 설정은 무시되던데…
평범하게 리스트박스를 쓰면 모를까 그리드뷰를 쓰는 경우 ListViewItem을 따로 써야할
경우가 어떤 것들이 있는지도 아직 잘 모르겠습니다…