TextureRect => “Used to draw icons and sprites in a user interface.” Sprite => “A node that displays a 2D texture.”
So I believe it’s better to use TextureRect for the user interfaces and Sprite for the background.
The reason probably has something to do with, Sprite being more optimized for in game world use than TextureRect, although they can both deliver the same functionality as background so nothing is stopping you from using them both as such.
Hope this helps
Sprite being more optimized for in game world use than TextureRect
I would say TextureRect has a number functionalities of Control, which are redundant for this case.