To what extent does the quality of data play in the accuracy of a model? I’ve worked with businesses where I am provided with a data set that I know is inadequate in terms of its signal with respect to the measure in which I am trying to predict. No matter the extent to which I perform data engineering to create new variables, or the extent to which I experiment with new models or new model parameters, the performance metrics of the models I use will always approach a ceiling point due to the limit of the nature of the variables that is being used. Hence the question I pose: whether one should attempt to perform feature selection, model selection, hyper parameter optimisation IF there exist this constraint?
 A: An extreme example might be determining the name of a dog’s owner based on a photo of the dog’s tongue. You’re missing critical information from the veterinary records that associate the dog with a human. With such information, you might be able to get the right answer every time.
It can be the case that you simply lack the information to make accurate predictions.
Consider an outcome that is totally determined by the two feature variables (so this outcome is entirely predictable, in some sense), which are independent on each other. If you only have measurements for one of those variables, you’ll never reliably make accurate predictions. Since the two features are independent, you cannot even wrangle information about one out of the other. This would be the low signal-to-noise ratio that you mention.
If your features are related, perhaps you can wrestle with observed features to glean insight about what the unobserved feature would have been had it been measured, perhaps at the risk of overfitting.
However, if you feed a model garbage data (tongue picture), it should be expected to output garbage predictions (inability to predict owner’s name).
A: It’s a garbage in, garbage out scenario. What machine learning models do, is they learn to recognize patterns in the data and act when finding the patterns at prediction time. If you have garbage data, the model would make garbage predictions no matter how sophisticated your machine learning model is. This is what Andrew Ng means by data-centric AI, when he talks that our major concern should be the qualify of the data, rather than the models. If you know that the quality of the data is low, you should be spending most of the time getting better data, as working on improving the model is an unlikely cure.
As others noticed in the comments, the above statement may be too strong. Indeed, our usual assumption is that the data is noisy and most of the models would be able to overcome some degree of noise, mislabeled samples, etc. We even have specialized models like the errors-in-variables model. Still, if there are known issues with data quality, the usually more efficient approach would be to gather better data (or improve it by re-labeling it, etc) than hoping that the model would be able to overcome the issues by itself.
A: 
the performance metrics of the models I use will always approach a ceiling point due to the limit of the nature of the variables that is being used. Hence the question I pose: whether one should attempt to perform feature selection, model selection, hyper parameter optimisation IF there exist this constraint?

Optimization might still be necessary. Even when the data does not allow a model to measure values accurately, it will always remain that some models are better than others.
More interesting is the question what the nature of the constraint is. Why do you have this constraint and is it truly some limit or do you not have enough data or are your models not detailed enough?
For example: Some variables are just very hard to predict. For instance, when I flip a coin or roll a dice then I might be able to predict the average outcome, but for a given single instance it is extremely hard to predict the outcome. This is when nature, whose basic laws are deterministic, appears random to us.
