It is a search engine in the sense that it's returning to you a subset of knowledge from a large body of knowledge stored within it. Natural language is simply the interface by which you make the query and by which it can return its results.
And true, it's not deterministic in our experience, but this is an optimization. You could make it so that one particular prompt always returns the same response every single time; the random jitter is "added in" because it happens to produce better results overall.