Refers to the mining power (hashrate) produced from miners and pointed towards the Bitcoin network to mine blocks.
Bitcoin Difficulty (diff) is a value used to show how hard is it to find a hash that will be lower than target defined by system.
Difficulty changes every 2016 blocks based on the time the network of miners took to discover 2016 previous blocks. If a block is found every 10 minutes (as it was intended initially for even emission) finding 2016 blocks will take exactly 2 weeks. If previous 2016 blocks were found in more than two weeks the difficulty will be lowered, and if they were mined faster then that it will be raised. The more (or less) time was spent on finding the previous 2016 blocks the more will difficulty be lowered (raised).
What is the maximum difficulty?
There is no minimum target. The maximum difficulty is roughly: maximum_target / 1 (since 0 would result in infinity), which is a ridiculously huge number (about 2^224).
The actual maximum difficulty is when current_target=0, but we would not be able to calculate the difficulty if that happened. (fortunately it never will, so we're ok.)
Someone can argue that more the mining > more the hashrate > more the difficulty. Also the more the hashrate, the more are the investments big, the more production price of BTC increases i.e. price should keep increase to mantain BTC mining sustainable in terms of ROI.