Network API standards

Standards can ensure that information is accessible and systems are interoperable. However, software development companies often avoid complying to existing standards or try to create new standards for various reasons including trying to gain advantage over their competitors. For example, Mozilla developed XUL and Microsoft allows the use of ActiveX objects in Microsoft Internet Explorer. 1) Is it important that standards are defined for Network APIs? 2) Should network software developers be made to comply with standards? If so how? 3) Do standards help or hinder competition between software development companies? Is this good for software users?