olya_097, во втором случае получаем текущее значение value из input и удаляем в нем буквы. В первом случае соответственно устанавливаем измененное значение в value. Проще говоря один метод .val() используем для получения значения, а второй для установки нового значения.
Тут задача другая. Ваш способ ее не решает, потому что не запрещает вводить, а уже после ввода сообщает, что поле заполнено не в соответствии с шаблоном.
И подобный подход настолько удобен, что фильтрация ввода становится лишней. При том, что пользователь будет полностью осведомлен о том, что ему надо делать. Это самое главное.