Doing both would be great, but often doing both is impossible. Code is one of those things.
Don't ever code as smart as you can because debugging is twice as hard as coding. If you write the smartest code you can, you will not be able to debug it.
I imagine origami code as this kind of brilliant and amazing puzzle solution that brings a smile to your face when you grok it. And that's exactly the kind of thing I would not want to maintain for a living. Write it, sure. But not maintain/extend/debug it etc.