mice is a multiple imputation package. Multiple Imputation itself is not really a imputation algorithm - it is rather a concept how to impute data, while also accounting for the uncertainty that comes along with the imputation.
If you just want one imputed dataset, you can use Single Imputation packages like VIM (e.g. the function irmi() or kNN() ). Also the packages imputeR and missForest are good for Single Imputation. Thy output you one single imputed dataset.
If you still want to use mice and just want to have 1 imputed dataset at the end, you can take one of these 5 datasets.
There is a deeper reason, why multiple imputation creates multiple imputed datasets. The idea behind this is, that the imputation itself introduces bias. You can not really claim that a NA value you impute is e.g. exactly 5. The more correct answer from a Bayesian point of view would be, the missing value is likely somewhere between 3 and 7. So if you just set it to 5 you introduce bias.
Multiple Imputation solves this problem by sampling from different probability distributions and in the end comes up with multiple imputed datasets, which are basically all possible solutions.
The main idea of multiple imputation is now to take these five datasets, treat each as possible solution and you perform your analysis on each one!
Afterwards your analysis results (and not the imputed datasets!) would be pooled together.
So the with() and the pooling() part have nothing to do with creating one dataset, they are needed for combining the five analysis results back together.
The linear model is one form of analysis a lot of people apply to data. (they want to analyze relations of some variables to a response variable). In order to get unbiased results, this analysis is done 5 times and then results are combined.
So if you don't want to use a linear model anyway you don't need this. Because this part has to do with the analysis of the data and not with the imputation.