Will removing a column having same values for all observations affect my model?
A Machine Learning Model is nothing but a mathematical equation i.e.
y = f(x)
in which
y = Target/Dependent Variable
f(x) = Independent Variables(In our case a DataFrame containing the Train/Test Data)
So technically, ML models quantifies and estimates about for what value of X, what will the probable output y.
Assuming a single whole column is constant. So, a relationship between y and f(x=constant) is meaningless because for whatever value of y, that x will remain same. No mathematical relationship is possible except for the only option that y is also an constant. Which we can safely assume isn't the case, else why else you will build a model to get a constant value.
Hence, we can safely drop any constant column, which doesn't add any variation in data to the DataFrame to save computational time, as that column won't affect y in any sense.
One of the columns in my dataset has the same value for all observations/rows. 
Should I remove that column while building a machine learning model?
Will removing this column affect my model/performance metric?
If I replace all the values with a different constant value, will it change the model/performance metric?