According to the solidity documentation:
One way to create contracts programmatically on Ethereum is via the JavaScript API web3.js. It has a function called web3.eth.Contract to facilitate contract creation. When a contract is created, its constructor is executed once.
Now, How is this different from deploying a contract ? When we deploy a contract, the constructor is executed once. So what's the difference between contract creation and contract deployment ? Or, do they mean the same thing ?