Select 

For the select tag, the User has to choose a valid predefined option value that you set previously. The user won't have the privilege to put his own value in the input field. It imposes valid values and asks the user to select any one from the list down. It works in a label.

Example: 

<form action="">

  <label for="phone">Choose a car:</label>

  <select name="cars" id="phone">

    <option value="nokia">Nokia</option>

    <option value="samsung">Samsung</option>

    <option value="oppo">Oppo</option>

    <option value="xiomi">Xiomi</option>

  </select>

  <br><br>

  <input type="submit" value="Submit">

</form>

Datalist

For the datalist tag, User can choose a option list down value as well as he can enter any value as user like. Datalist work with input field. No need to option tag close.

<label for="browser">Choose your browser from the list:</label>
<input list="browsers" name="browser" id="pen">

<datalist id="pen">
<option value="Matador orbit">
<option value="Econo Fx">
<option value="Matador All-time">
<option value="Matador pin point">
<option value="Merti ball pen">
</datalist>

Now you can choose any of them as your requirement.