Необходимо для передачи бинарных данных как текстовые.Это не совсем относится к php. Однако зачем так делать? Обычные картинки можно кешировать, а base64 каждый раз передается клиенту. В общем - зачем?
В результат такие данные нельзя будет передать по http
В целом о передаче картинок в теле css/js/html, а не отдельным файлом. Можно все что угодно, как я понимаю так передавать - но интересует именно картинки. В целом на сколько я понимаю - такое используется для маленьких иконок...Вопрос ТС (хоть он и задал его крайне неточно), очевидно, о base64 в теле HTML-документа (data URI scheme).
А что лучше - спрайт, или этот же спрайт в base64?

А отправляя почту, например, ты как вложения передашь?А по-моему это все "unix way" - и наследие терминалов. Живо еще для BC, верней для общения с древним софтом и железом