Its probably quick to list what they are capable of rather than listing limitations 🙂 The only thing I like them for is templating large numbers of branch site routers & access-points and only if the branch sites have internet connections rather than private VPN / MPLS.
NAT is major limitation. Basic destination NAT (port forwards), static NAT (1:1) only. No way to choose which IP is used for source NAT for traffic not returning for an existing flow. No way to disable NAT on WAN interfaces and the 15.x beta that permits you to disable NAT on a VLAN basis has other issues.
Basic L3 & L4 firewalling works but the interface is horrible. No way to add addresses or address-sets (objects and object groups). The only protocols supported for access-list entries are ICMP, TCP, UDP and "any".
No routing protocols limits their use cases in DC's. Warm spare with VRRP on internal interfaces is the only redundancy method. Avoid installing in active/active DC environments.
Non-Meraki VPN tunnels have problems as there is no way to customise the list of subnets used for the security associations on a tunnel by tunnel basis. Non-meraki tunnels need to be done on a separate device.
QoS is very limited. You'll probably have to do QoS policies on other devices around the firewall if you have complicated policies to replicate.
No visibility into what is happening on the firewall in regards to active flows, flow timeouts etc. Very limited troubleshooting methods for interrogating the firewall itself.
Multicast, IPv6, real client VPN, SSL inspection are missing. MX firewalls are useful for basic SMB and simple branch installs with VPN concentrators in the DC but once you add up all the costs including putting in a real firewall and optionally web-proxies for SSL decrypt the costs start increasing way past the benefits given.