Advantages and disadvantages of glmnet? What are the advantages and disadvantages of glmnet with default options?
glmnet(X,Y)

In which situations it works best and in which situations it can be very misleading and should be avoided? Is it a good method for most regression situations? I believe it assumes alpha to be 1 and hence it is lasso. Thanks for your insight.
 A: Any method that uses the $L_1$ (absolute value) penalty function is being asked to make a dichotomous decision: is $x_i$ in the model or out? The data often have limited information that allows the analyst to do this reliably.  Hence you can often think of the variables selected as providing an "example model" and not the "true model".  It is always worthwhile to bootstrap the process to study the volatility of the selected variables.  If there is not high agreement across bootstrap samples, beware.  It is also worth comparing (unbiased estimates of) predictive accuracy of models derived using $L_1$ and models that used a little bit of all variables (e.g., $L_2$ norm by itself).  Be sure to use a proper accuracy score such as the log likelihood, generalized $R^2$, or Brier score when making such comparisons.
A: glmnet, is a package for penalized regression. We usually have ridge regression aka the L2 norm and the lasso regression, aka the L1 norm. glmnet allows you to use either one OR a mixture of them both using an input called alpha in its arguments. If you use alpha = 0, you will get a ridge, if you use alpha = 1, you will get a lasso. If you use anything in between you are weighting them in a mixture. Here is a perfect guide for installing and using it with very good illustrations and examples :
https://web.stanford.edu/~hastie/glmnet/glmnet_alpha.html
I cannot say on the fly if using any methods is good or bad for any given situation. But usually penalizing is a good idea. I will myself rarely use just OLS, especially if I have a high number of features. Penalizing helps us to have a deeper understanding of the importance of each coefficient. 
For ridge in glmnet, you set your alpha to 0 and cross-validate for lambda. Consult the documentation, it is very clear and helpful.
