Q:

Для чего xmlns:app и xmlns:tools ? И обязательны ли они?

Видел как некоторые разработчики удаляют эти строки из layout файла, хотя они появляются изначально по умолчанию. Так что, стоит ли удалять их, раз они не выпоняют важной роли в проекте ?  

A:

xmlns:app нужен для обозначения кастомных свойст View. xmlns:tools - позволяет среде разработки (в нашем случае, Android Studio) правильно отобразить компоненты для просмотра в режиме дизайна.
Подробнее про tools
Подробнее про app

