Question: I would like to know, how big is difference between ARM debian for Raspbery PI and x32/x64 debian for desktop.

I would like to buy in future some ARM mini pc like raspbery PI and use it as for example cheap IPv6 router, machine to connect remotely from the internet and to control whatever I will need. It will be something better than only router, it will be small server with low TDP.

Is there any problem with packaging system? Is there enough packages for ordinary use? 

What about RAM consumption?

Answer: 
There isn't much difference. The packaging system is exactly the same, and all packages are built automatically on all architectures from the same source. (The source can contain different compilation settings, of course.) Packages are only accepted in Debian testing or Debian stable if they are available for all [supported architectures](http://www.debian.org/ports/#portlist-released) (which has included ARM since potato in 2000). There are a few exceptions, by explicit dispensation — mostly “exotic” compilers and closed-source non-free programs.

There are two ARM architectures in Debian: [armel](http://www.debian.org/ports/arm/) (following the current ARM binary interface, [EABI](http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0036b/index.html)), and [armhf](http://wiki.debian.org/ArmHardFloatPort) (for processors with hardware floating point), which is expected to be officially released with the upcoming wheezy release. Binaries in armhf are faster for applications that use floating point, e.g. video encoding and decoding.

Debian's armhf does not work on a Raspberry Pi, because although the Pi has hardware floating point, it only supports an older version of the instruction set, but you can use the specialized distribution [Raspbian](http://www.raspbian.org/), which recompiles Debian packages optimized for the Pi's processor.

For the kind of network appliance you describe (router, firewall, file server, ...), the processor architecture doesn't matter. An ARM or MIPS device will do fine.

There isn't much of a difference in RAM consumption between ARM and x86. ARM code is a more compact, but for a network appliance most of the RAM usage will be for the data that you're serving, the network packets you're relaying, etc.
If you would have asked this question say two years ago then yes ARM support was not enough and was quiet buggy.

Today not only Debian [many other linux distros](http://en.wikipedia.org/wiki/ARM_architecture#Linux) now also support ARM architecture. No. of packages is good and growing.

Also ARM is not directly compatible with x86(it is not X32) or amd64(it is not X64) so you cannot directly run an x86 based program on ARM based machines. You have to use some kind of emulation/sandboxing which will be quiet slow.