that's a complex topic depending on how you are using them.
Some stuff use the legacy thumbnailer so in that case the size is most likely set in the code or in some block setting or other.
ON the other hand, you can also define thumbnail sizes in the dashboard under dashboard/system/files/thumbnails
Once a thumbnail type is defined, any image you upload afterward gets resized to all the existing thumbnail types specified so if you have 6 thumbnail types the image gets 6 different versions.
It is then up to you or the code to use one version or the other.
Some stuff use the legacy thumbnailer so in that case the size is most likely set in the code or in some block setting or other.
ON the other hand, you can also define thumbnail sizes in the dashboard under dashboard/system/files/thumbnails
Once a thumbnail type is defined, any image you upload afterward gets resized to all the existing thumbnail types specified so if you have 6 thumbnail types the image gets 6 different versions.
It is then up to you or the code to use one version or the other.