Frequency weights indicate how many cases in the population a given observation represents.
Sampling weights indicate the probability (sometimes the inverse of the probability) of an observation being sampled. This example from this document is very clear:
[Assume] the population was divided in two clusters, rural and urban areas. Half of the urban population was interviewed while only one tenth of the rural population was interviewed. We can see it as follows: one individual interviewed in an urban area represents 2 people while an individual interviewed in a rural area represents 10 persons. In order to take this into account, each observation will be weighted by the inverse of its probability of being sampled: each rural area observation will receive weight 10 and each urban area observation will receive weight.
So, in the example above, the sampling weight will be 2 for the urban individual and 10 for the rural individual. But, if we have a sample of both urban and rural individuals, in order to construct the whole population out of them, we would use frequency weight which are exactly the same as those in the sampling weights, i.e. 2 and 10. Thus, we could simply treat sampling weights are frequency weights. Mathematically, if you were to compute the population average of a given variable, the result would be the same, of course. (The document linked, referring to Stata, says that "Point estimates will be estimated in the exact same way", so Stata treats them identically, for point estimates, of course).
But, is this valid? And can we do the reverse, i.e. treat frequency weights as sampling weights? Following the same logic, you can argue that if one individual represents 2 and other 10 individuals in the population, then this is equivalent as if sampling was clustered/stratified. Or not?