ancho de estilo vs atributo de ancho en HTML

Vi la última publicación similar a mi preguntaAltura del estilo del lienzo HTML5 frente a la altura del atributo
Pero en esa publicación, no había información clara sobre cuál funcionaría y cuál es la diferencia.

Intenté el siguiente ejemplo:

<html>
    <head>
    </head>
      <body>
        <link rel="stylesheet" href="https://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
        <script src="jquery-1.11.1.js"></script>
        <script src="https://code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
        <script src="script.js"></script>

        <div>
             <select style="width: 200px" width="200px">
                   <option value="Test1"> Test1 </option>
                   <option value="Test2"> Test2 </option>
                   <option value="Test3"> Test3</option>
                   <option value="Test4"> Test4 </option>
                   <option value="Test5"> Test5 </option>
             </select>
        </div>
     </body>
 </html>        

Pero en el ejemplo anterior, si pone cualquieraestilo = "ancho: 200 px" oancho = "200px", no se ve el mismo resultado.

Pregunta:
1) por qué sonestilo = "ancho: 200px yancho = "200px no dando el mismo resultado?
2) ¿Cuál es la diferencia entreancho = "200px" oancho = "200"?

¿Pueden algunos ayudarme a aclarar estos conceptos básicos?

Respuestas a la pregunta(3)

Su respuesta a la pregunta