Role of a known predictor in a disease prediction
Basically what I am trying to know is should we feed variables which we are confident that they will impact the outcome into the model?
  
  Or is the model to help us know something which we aren't aware of .


It depends, there's no general rule. The goal is of course to predict the target variable as well as possible, i.e. to maximize the performance. So the question is to find the right balance between:


Giving only a few features which are known to help predict the target variables. In this case we make things as easy as possible for the learning algorithm, so that it can perform optimally with the features provided. Disadvantage: maybe there are other more subtle indications that would have helped the algorithm make better predictions.
Feeding the learning algorithm with a very high number of features. In this case we let the algorithm find the relevant indications itself, hoping that it will catch even subtle clues that a human expert would easily miss. Disadvantage: too many features are susceptible of causing two problems: overfitting, when the model relies on very specific patterns which happened by chance in the training set; and redundancy, which can also decrease the performance with some algorithms.


The data-driven answer is to try various combinations of features on the spectrum between these two options, and evaluate the corresponding models on a validation set (preferably with cross-validation in order minimize the effect of chance). This can be done manually or using feature selection/extraction methods. 

[added for clarity:] when selecting the best option between different sets of feature (or different algorithms as well), one needs to use a validation set which is distinct from the test set (and also from the training set of course), otherwise there is again a risk of overestimating the performance.