clear()
очищает флаги состояния ошибки в stringstream
. То есть он устанавливает состояние ошибки на goodbit
(что равно нулю).
str("")
устанавливает связанный строковый объект в пустую строку.
Они на самом деле делают совершенно разные вещи. Своеобразный выбор имен делает его звучащим , как будто они выполняют аналогичные задачи.