In this thesis, applications and development will be presented within the field of van der Waals interactions in density functional theory. The thesis is based on the three projects: i) van der Waals interactions effect on the structure of liquid water at ambient conditions, ii) development and benchmarking of a new van der Waals density functional, and iii) the application of the newly developed functional to CO desorption from Ru(0001). The effect of van der Waals interactions in water was studied by performing ab initio molecular dynamics simulations using PBE and the two recent van der Waals density functionals optPBE-vdW and vdW-DF2 with identical computational setup. The two van der Waals functionals have been found to give excellent descriptions of the constituents of water (e.g., water dimers and hexamers). Including van der Waals interactions gives a softer water structure as seen from structural parameters and a distribution of water networks with fewer H-bonds for the van der Waals molecular dynamics simulations compared to the PBE results. The most significant change for the van der Waals molecular dynamics simulations is the oxygen-oxygen pair-correlation function, which has a much lower first peak consistent with recent experiments, while the outer structure is completely smeared out. The water structures obtained from the ab initio van der Waals simulations clearly resemble high-density liquid water, whereas the PBE molecular dynamics simulation with equivalent computational setup resembles low-density liquid. Mixing the vdW-DF2 and the experimental low-density liquid in a 70/30% ratio gives agreement with experimental results. This is consistent with the bimodal picture of water. Also, in this thesis the BEEF-vdW exchange-correlation functional is presented based on fitting to high-level ab initio and experimental results. The fitting scheme, based on Baysian theory, focuses on the three aspects: a) model space, b) datasets, and c) model selection. The model space consists of a flexible expansion of the exchange enhancement factor in the generalized gradient approximation plus local density approximation, and the non-local Rutgers-Chalmers correlations. The datasets are chosen to represent gas phase chemistry, surface chemistry, solid state physics, and non-covalently bound systems in order to produce a generally applicable functional that is particularly useful for catalysis. The model selection is a two-step scheme. First the model is fitted to the individual datasets, and subsequently the combined solution are found. To avoid overfitting, a regularization term is added to the cost function, which punishes non-smooth functions and effectively reduces the 31 parameters to close to 7. The ideal weights for the combined solution are found by minimizing the product of relative cost functions. Error estimation is naturally obtained from a distribution of functionals around the optimum solution. The produced exchange-correlation functional is benchmarked against various other exchange-correlation functionals, and is seen to indeed be generally applicable, contrary to other fitted van der Waals functionals. Lastly, the newly developed BEEF-van derWaals functional is applied to the desorption of CO from Ru(0001). The results here support and help interpret the very first spectroscopic measurement of a precursor state performed as a pump-probe experiment at the Linac Coherent Light Source at Stanford Linear Accelerator Center. The support from the theoretical point of view is based on the potential of mean force, which is a free energy potential curve where all degrees of freedom except the reaction coordinate have been thermally averaged. The potential of mean force develops an adsorption/desorption barrier for increasing temperatures and a second minimum occurs at larger surface separations. A correct description of both the chemical interaction and the long-range van der Waals interactions is essential to describe the adsorption/desorption process and commonly used generalized gradient approximation functionals are seen to be incapable of this.