Is SQL Server smart enough not to UPDATE if values are the same?
Yes you will see some performance gains. I recommend reading this article to get a better understanding (it will explain why much better than I can):
https://sqlkiwi.blogspot.com/2010/08/the-impact-of-non-updating-updates.html
Judging from TSQLs output, it considers the UPDATE executed even if it's to the same value.
CREATE TABLE test (id INT, val int);
GO
INSERT INTO test VALUES(1, 1);
GO
(1 row(s) affected)
UPDATE test SET val=1 WHERE id=1;
GO
(1 row(s) affected)
When it comes to the actual write to disk, I'd certainly hope that it's not needed.
Edit: See the answer from @AbeMiessler for a more in depth analysis how the write to log/disk part works.
You might be seeing some performance gains based on the specific state of your table indexes.
If the table is indexed, and the update doesn't require that any data is moved around (clustered) or no indexes need to be altered (non-clustered), then you might see a gain.
If you tell SQL to update, it's gonna update. So, I'd look towards the hardware side (e.g., indexing).