Let’s say you have a spiffy override for an internal Hugo template but you want your users to be able to choose whether to use that override or not. The following example is for allowing a user to opt-out of using your phenomenal new RSS feed template and use the internal default.
Put this in layouts/_default/rss.xml and your override in layouts/partials/internal-overrides/rss.xml and if the user sets internalTemplateOverrideRSS = false in config.toml then they will get the Hugo default behavior.
The template keyword is a built-in Go template keyword, the main difference between that and partial is that template gets expanded at parse-time (I’m sure that description wasn’t very good), partial is a “runtime thing”, a function that returns a value.
I found out about in reading about internal templates in the docs
but the documentation of the template keyword is in the go doc for the template package (because it is a Go template package builtin rather than particular to Hugo):