The adaptive pooling layers were added to relax the condition on specific input shapes.
By default a lot of models are trained on images of [batch_size, 3, 224, 224].
As you said, for this shape the original architecture should be used.
However, if you would like to increase the spatial size to e.g. 350x350 pixels, you would run into a shape mismatch error and would have to resize the image to 224x224.
To relax this condition and make these models more flexible, the adaptive pooling layers were added, which will return the desired output shape so that the number of input features of this activation will match the specified in_features of the following linear layers.