We would need more information, but first thing I would check is to make sure one motor or servo is inverted from the other (they should be inverted, either in software, or physically, depending on what types of motors or servos you are using and how you are driving them). Easy way to check this is to pick up the robot and see if the wheels are spinning the same direction when it is supposed to be moving forward.
Second, the wheels could be spinning at different speeds. If so, then the robot would constantly turn in one direction. There are many reasons that this might happen such as (in no particular order) differing motor performance (even on two identical motors), electrical design of circuit, insufficient power to a motor, uneven weight distribution, etc etc. Encoders can help to resolve this, or you can fine tune them by adjusting how they fast they are driven in software.