It is an actual physical limitation, not a technological limitation. Measurement of a system distrubs the system (changes the actual wavefunction of the system) in such a way that certain physical observables cannot be known simultaneously.

Here's the quantum mechanical explanation probably won't make too much sense if you have not had an advanced course in QM. However, I provide it here for completeness:

In order for a system to have a defined value for a certain physical observable (e.g. position, momentum, energy), the system must be in an eigenstate of the quantum mechanical operator corresponding to that physical observable (e.g. the position operator, the momentum operator, the hamiltonian, etc.). The position and momentum operators do not share the same eigenstates (i.e. they don't commute). Therefore, if your system is in an eigenstate of the position operator (i.e. you know its position precisely), the momentum is not known because you are not in an eigenstate of the momentum operator.