Finding elements by ID is fastest option, because it eventually calls document.getElementById(), which is optimized by most browsers.

One can make the same argument about text being changed, same with css selectors, if you are working on a product that is under development; you can not guarantee that things wont change. 

Css selectors/Name are second fastest then comes XPath, css selectors are awesome but not as flexible that xpath. 

Hope this helps.