Very well put. I also read books to learn concepts. I usually only turn to documentation to remember the nitty gritty details that are easy to forget. Consider loading the first 100 rows of a large CSV. About as basic as code can get. Yet as I move between languages and libraries, it's hard to remember all the different syntaxes, so I find myself looking up official documentation.
read.csv("large.csv", nrows = 100)
read_csv("large.csv", n_max = 100)
pd.read_csv("large.csv", nrows=100)
pl.read_csv("large.csv", n_rows=100)
CSV.read("large.csv", DataFrame; limit=100)