On this site : https://rufus.akeo.ie/, there are two downloads, one labeled "Rufus 2.8" and the other labeled "Rufus 2.8 portable" I have tried both, and they do not differ in functionality as far as I am aware. I don't know what the difference between the two is, if there is any, as the one not labeled "Portable" is also portable" (i.e. requires no installation").
How comes the portable and regular version are binary identical?
That's because the way Rufus detects whether it should run in portable or regular mode is by checking the file name of the executable. The way it works is like this: if the file name contains the letter p, then the code will run in portable mode. And if there is no p, then regular mode is used. As a matter of fact, on the web server, the download for the portable version is just a symbolic link to the regular version, with a p added to the name, so of course the binaries will always be identical.
But there's nothing fancy or mysterious about this method - software like Busybox has been doing this for years and you shouldn't freak out, or tell me that there an issue with the downloads, on account that the size and content of the portable and regular version of Rufus are exactly the same. There exists many ways to make the exact same executable behave in a completely different manners, through external factors, such as its file name...
From Rufus FAQ
The only difference FAQ mentions is below:
Rufus connects to the internet, but I never allowed it to - why?
How could I solve this dilemma then? Simple: If you look at http://rufus.akeo.ie/downloads/ you'll see there are actually 2 versions of the latest Rufus version, one called rufus-#.#.exe (as well as the corresponding the portable version) and the other called rufus.exe. They are essentially the same binary file (rufus.exe is actually just a symbolic link to the first one on the web server). However, when Rufus starts, it checks for the name of its executable, and if it finds that it is called "rufus.exe", it does not display the question on whether a user wants to check for update, and enables that check automatically.
As the main developer of Rufus, let me shed a little more light on the question by quoting from what I think is a more relevant portion of the official Rufus FAQ:
First of all, I think I need to define what portability is, because a lot of people (including Wikipedia) use a wrong definition, and completely miss the point of what a portable application is really about.
A portable application is an application which gives you the ability to carry and preserve your settings when moving from one computer to the next.
That's it. That's all a portable application does.
Thus, if you are expecting that portability implies anything about NOT writing into the registry on Windows, or not coming with an installer, you are very mistaken. Most of the time, being portable means that the application will write its settings to a text file (such as a .ini file on Windows) that you can carry around with the software, as you move from one computer to another, instead of the registry, and this may be the reason why many people confuse "portable" with "not writing to the registry, ever" on Windows, but there really is no promise being made from a bona fide portable application that it will leave the registry untouched.
And so, with this having been clarified, I can explain that the regular version of Rufus already qualifies as a portable application because, if you happen to have a rufus.ini in the same directory as your Rufus executable (even if it's an empty file), then Rufus will read and write its settings, such as the language you want to run the application into, or the other options that get preserved between sessions, into that file, and should you copy both your rufus.ini and the Rufus executable to another computer, you will see that your settings have been preserved from the previous computer, hence "portable". And at this stage, I also have to stress out that, even when Rufus runs in portable mode, your registry will be modified, since this is NOT what portability is about.
Then, why provide a portable version at all, you say? Well, this brings us to the ONLY difference the "portable" version of Rufus has with the "regular" one, which is that the "portable" version will create a rufus.ini by default (so that you don't have to do it yourself, if you want to use Rufus in portable mode), whereas the regular version doesn't. That's really all there is to it!
This is also the reason why when Rufus downloads an update, it always picks the "regular" version, even if the version you were running was the "portable" one, as you would already have a rufus.ini, therefore, the new "regular" version that is downloaded will continue to run in portable mode.
Now, if you're still confused about what the above means, then you should probably just use the standard version of Rufus. Portability is really ONLY for people who need to work with an application on multiple computers, and want to have their settings preserved as they do so. If that doesn't apply to you, then you should download the regular version.