some reasons why exhaustive testing is impractical
1. Variable inputs ie ., integers, real numbers, character strings and etc.., creates such a large range of possible values that could be tested that it is impractical to supply all those values during testing. Since a failure could occur on any specific value, complete testing is impractical to achieve.
2.The order that inputs can be applied can, in general, be rearranged into an infinite number of combinations. so the sequence of order of inputs are infinite.
It depends on your definition of the word "exhaustive". Like you stated, you cannot test every input to the system. Godel's incompleteness theorem shows this.
However, you can increase the amount of testing. The reason for increased testing would be increased risk, like Jean mentioned. You could look into equivalence class partitioning, in an article like Dustin's "Orthogonally Speaking", or even using a tool like James Bach's AllPairs to investigate more coverage with fewer tests.