checked, required, selected, disabled, contenteditable, readonly, autocomplete и прочие.
Если смотреть со стороны, то он идентичен методу attr(), т.к. мы так же можем 2м аргументом установить любое нужное значение атрибута. Но
с небольшим отличием!
После примера думаю будет все понятно.
attr() - для манипулирования значениями любого типа
prop() - для манипулирования булевыми значениями
И наверно самый главный пример, это с условиями:
if ($('input').attr("checked")) {
//Условие всегда возвращает строку
}
if ($('input').prop("checked")) {
//Условие вернет булево значение
}
Более подробно тут!