The three ordinary questions, and which number is the base
A percentage of an amount is a multiplication: 15% of 300 is 300 × 15 ÷ 100, which is 45. The percentage is a fraction of a hundred, so 15% is also 3/20 - the same sum with smaller numbers, which is why the exact fraction is printed beside the answer.
An amount as a percentage is a division: 15 out of 300 is 15 ÷ 300 = 0.05, which is 5%. Here the whole is the base, and that is the point of the mode: 300 as a percentage of 15 is 2000%, so the same two numbers give very different answers depending on which is treated as the whole.
When the whole is zero the page says the answer is undefined rather than printing 0%. Nothing is not a base for a percentage, and a page that printed 0% would be telling somebody that a zero in a report is a legitimate result rather than a mistake in a spreadsheet.
Percentage change is asymmetric, and that is not a bug
Percentage change is measured against the value you started from. 100 rising to 125 is +25%; the same pair the other way round, 125 falling to 100, is -20%. Both are right, because the base moved - and a business that reports "up 25%" and later, after a fall back to the original number, "down only 20%" is comparing two different denominators without saying so.
The symmetric alternative is percentage difference: the difference over the average of the two values, which is 22.22% for 100 and 125 in either order. It is the right measure when neither number is a base - two prices, two measurements of the same quantity - and the page prints it alongside the change so the two can be told apart.
Doubling and halving are the clearest case: a 100% increase takes 100 to 200, and a 50% decrease takes it back. The percentages differ because a percent is always a percent of something, and the something changed.
Percentage points against percent
A percentage point is a unit for a change in something already expressed as a percentage. An interest rate falling from 10% to 8% has fallen two percentage points. In relative terms it has fallen 20%, because the rate it started from was 10% - and both statements describe the same move.
This is the most misused pair of numbers in advertising and political reporting, in both directions: "a 20% cut in the rate" sounds twice as large as "a two point cut", and it is exactly the same fact. The page prints the points, the percent, and the sentence relating them, so whichever number a reader came for, the other is beside it.
The two measures coincide only at 100%: from 100% to 90% is ten percentage points and a 10% fall, because a percentage point and a percent of 100% are the same size.
Fractions, decimals and repeating cycles
Every decimal you type is read as digits - 0.125 is 125 over 1000 - and reduced to lowest terms, which gives exactly 1/8. Nothing is converted to a browser number and back, so the page cannot print 0.30000000000000004 for 0.1 plus 0.2, nor 870.0000000000001 for 8.7 × 100.
A fraction in lowest terms terminates if its denominator has no prime factors other than 2 and 5, and repeats otherwise. So 1/8 is 0.125 exactly, 1/5 is 0.2, and 1/3, 1/6 and 1/7 have no last digit. The repeating part is written in brackets: 0.(3) for a third, 0.1(6) for a sixth, 0.(142857) for a seventh - which also shows that a seventh has a six-digit cycle and a third has a one-digit cycle.
Scientific notation comes out of the digit string too, by moving the decimal point rather than by asking the browser’s number format for seventeen significant digits. A twenty-digit value keeps the digits it was typed with, and the page says when it has had to shorten one to fit.
What this page does not do
It does not read percentages written in words ("up by a half"), it does not chain percentages for you, and it does not apply a percentage series to a total. The arithmetic for the last of those is at least on the page: a 10% rise followed by a 10% fall is not back where you started, because 1.1 × 0.9 is 0.99 - a 1% loss, which is what "compound percentages" means in practice.
It also does not decide which percentage you meant. That is why there are five modes, and why each one states the base it used: a percentage question without a stated base has no answer, only an argument.