Different Arduino packages on Raspbian
I have not actually interacted with the debian packages, but If I'm reading this right, this how they are organized:

arduino: The whole java IDE and avr code libraries

arduino-core: the libraries and code that comes with arduino to be compiled for avr

arduino-mk: a makefile for compiling arduino code without the IDE (but no code)

The normal arduino package has a command line interface, but the code for this is (currently) very closely tied to the java GUI code and cannot be used without the whole thing being installed. To make using the raw atmel avr tools easier, the makefile is available; However, the makefile does not include all of the cpp libraries that come packaged with the arduino installation that a normal arduino sketch would reference (Arduino.h, Servo, SPI, etc). The arduino-core package exists to bring in all this supporting code.

I imagine it is done with these three packages so if you already have arduino installed, the makefile will not bring a second copy of all the libraries with it.

The makefile is a configuration for the gnu make software. There is some information on the specific usage of the arduino makefile on its github page here