No, not only programs not native to Linux. This requires a bit of an extensive explanation, which should be irrelevant to the end user as long as they don't try to install random stuff from the internet. Anyway, I'll try to explain the complicated nature of different program formats below.
Historically, Linux has worked differently than Windows when it comes to the way you install programs. Linux makes the assumption you'd get your software from your distribution (like Ubuntu) official sources, and because of that, the dependencies on Linux (which on Windows are known as the .dll files) usually do not come with the program you want to install. On Ubuntu, for instance, the default program format was for a long time the .deb. (there's also .rpm for RedHat based distributions. .rpm files are incompatible with Ubuntu). Usually, a .deb is made with a specific Ubuntu version in mind, but since it doesn't come with the dependencies built-in, the system tries to install them when you install the program. The problem is: since the version of Ubuntu the .deb targets might be a different one than what you're running, sometimes the system cannot find the right version of the dependencies to install. That means even if the program seemingly gets installed, when you open it it won't work because it's missing the correct files.
You may also find programs online that weren't even compiled yet. Usually the ones you find in random GitHub repositories. Those need technical knowledge to be compiled from source and you'll need to provide the dependencies manually.
On Ubuntu specifically, there's also PPAs, which are basically private repositories made by third-parties with the right .deb and dependencies. To use these, you'll need to enter into the command line and will also need to trust the source. It's not impossible to install a malicious program this way if you're not careful, so it's not recommended to do it if you don't know what you're doing.
Anyway, to solve that mess with the billion ways you can install a program in different distributions, Linux projects made three different "universal" program formats (because why agree on having one when you can have an extra three competing options?
):
Snaps: Ubuntu has been trying to push the Snap format within their ecosystem. Snap is a centralized source of available programs for Ubuntu. You cannot download a .snap from a random site on the internet. You can only get them from the built-in Snap Store in Ubuntu or browse them from
https://snapcraft.io/. When selecting a program there while running Ubuntu, the built-in store will be opened. This format is run in a sandbox for extra security. This means sometimes you might not be able to access something in the system. You should be able to change permissions within the Ubuntu's Snap Store.
Flatpak: This format is made by Red Hat/IBM and DOES NOT work on Ubuntu by default. This is almost the same as Snaps, with the difference your programs are available in
https://flathub.org. It competes with Snaps and works with most distributions that are not Ubuntu. This format is also sandboxed for extra security. Due to that, It might prevent the program from accessing some folders. To remedy that, you can install Flatseal and change permissions. Since we're focusing on Ubuntu here, this is not particularly relevant, but I wanted to throw this info here in case someone needs it.
.appimage: This format is made by the community and is the equivalent of a zipped
portable program on Windows. It includes most of the dependencies and runs in most distributions, but it has some drawbacks:
1. It doesn't get automatically updated
2. You cannot install them. They're like .exes in a folder. You can double-click on them to run but they won't be added to the menu or desktop automatically. You have to rely on third-party tools or add a shortcut manually.
3. They come with most dependencies built-in, but not all! Sometimes a program will fail to open depending on your distribution.
.appimage files can be downloaded from the internet.
That is all to say if you do try Linux, you need to leave behind the assumptions you have about how a system should work. If you're not a technically inclined user that wants to get your hands dirty and waste time tracking down dependencies and running command line prompts, you should treat Linux like iOS and download programs only from the app center. When you download something off of the internet you can't be sure it will work or not. Since there's so many combinations of Linux distributions and formats, it's really hard to have any random program work with every distribution out there.
The only big program I know that works fine when you download the .deb is Google Chrome, which is not available from the Snap Store at the moment.