The VN-100 Kalman Filter is based on the assumption that the accelerometer measurements should only be measuring gravity down. If the sensor is subject to dynamic motion that induces accelerations, the pitch and roll estimates will be subject to increased errors. The VN-100 does have a built-in option to input external velocity, or in the case of airborne vehicles, airspeed data, which can be used to compensate for these induced accelerations and minimize these errors (note: only for velocities along the x-axis).
The more difficult limitation arises from the fact that the VN-100 filter relies on comparing the onboard magnetic measurements to the local magnetic north direction in determining its heading angle. The background magnetic field changes direction and magnitude based on location and is subject to variations that even the best models can predict to only within 2 degrees of accuracy. For example, you might see a variation in the background magnetic field of 2 degrees at the same location when compared in the morning and again in the evening. In addition, common objects such as batteries, electronics, cars, rebar in concrete, and other ferrous materials can bias and distort the background magnetic field, making it very difficult to distinguish between the background magnetic field and the disturbance. The onboard Vector Processing Engine algorithms include a number of tools, including 2D, 3D, real-time and manual hard and soft iron calibration routines, as well as magnetic disturbance rejection features that account for disturbances due to magnetic interference.