An example to explain how developer environment and production environment could be different:
The best example is web application. Most of the companies are using opensource tools now. So, it may be case that developer m/c is Linux m/c not windows. But this website can be accessed by a user having window m/c or even mac m/c. After all web is open for all. Other example could be developers have high speed net connection on m/c as developers environment is always controlled, but may be user using our site have dial-up net connection.