window.location.href is not a method, its a property that will tell you the current URL location of the browser. Changing the value of the property will redirect the page.
window.open() is a method that you can pass a URL to that you want to open in a new window. For example:
window.location.href = http://www.google.com; //Will take you to Google.
window.open(http://www.google.com); //This will open Google in a new window.
window.open() can be passed additional parameters. See: window.open tutorial
window.openwill open a new browser with the specified URL.
window.location.hrefwill open the URL in the window in which the code is called.
Note also that
window.open() is a function on the window object itself whereas
window.location is an object that exposes a variety of other methods and properties.
There are already answers which describes about window.location.href property and window.open() method.
I will go by Objective use:
1. To redirect the page to another
Use window.location.href. Set href property to the href of another page.
2. Open link in the new or specific window.
Use window.open(). Pass parameters as per your goal.
3. Know current address of the page
Use window.location.href. Get value of window.location.href property. You can also get specific protocol, hostname, hashstring from window.location object.
See Location Object for more information.