Are these two different concepts?
Even though we can't predict the result beforehand, being deterministic means that for the same starting conditions, and given the same inputs, the same result will occur, even if that result is a smart contract running forever†.
It will run forever in the same way - following the same execution path - on each node in the ...
The state root saved in a block is the result after processing all the transaction in the block.
From Yellow Paper section 4.3 "The Block"
stateRoot: The Keccak 256-bit hash of the root
node of the state trie, after all transactions are
executed and finalisations applied; formally Hr.